Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

TIdTCPServer и SSL

830
24 ноября 2005 года
MVal
76 / / 17.10.2002
Вот пишу код, в котором передаю данные через TIdTCPServer - TIdTCPClient. Вообщем уже все написал, остался последний момент. Заказчик очень просил шифронуть трафик (сниферов боится).
Судя по всему эти компаненты умеют шифровать трафик через SSL. Кто-нибудь это пробовал?
Что-то найти какой-нибудь пример, как это работает я не нашел (кроме стандартного про SSLTunel).
На сколько я могу понимать, надо
  • Сгенероровать сертификат (Чем?)
  • Прицепить его к IdServerInterceptOpenSSL.
  • Прицепить IdServerInterceptOpenSSL к Серверу
    (а что с клиентом делать?)
  • Что-то еще сделать, чтобы это зеработало.
Если кто это дело юзал - подскажите, как оно работает?
2.3K
24 ноября 2005 года
ART-CODE
134 / / 15.11.2004
Для TIdHTTPServer я делал по этой статье:
http://mabanza.narod.ru/articles/IWSSL.html
Для приобретения опыта можно сначала все сделать по этой статье (выписка сертификата) а потом и для TIdTCPServer переделаешь...

Настройки компонентов
Код:
object IdHTTPServer1: TIdHTTPServer
    Active = True
    Bindings = <>
    DefaultPort = 433    
    Intercept = IdServerInterceptOpenSSL1
    OnCommandGet = IdHTTPServer1CommandGet
    OnCommandOther = IdHTTPServer1CommandOther
    ServerSoftware = 'HTTPMail'
    AutoStartSession = True
    SessionTimeOut = 50000
  end
object IdServerInterceptOpenSSL1: TIdServerInterceptOpenSSL
    SSLOptions.RootCertFile = 'root.pem'
    SSLOptions.CertFile = 'cert.pem'
    SSLOptions.KeyFile = 'privkey.pem'
    SSLOptions.Method = sslvSSLv3
    SSLOptions.Mode = sslmServer
    SSLOptions.VerifyMode = []
    SSLOptions.VerifyDepth = 0
    Left = 32
  end
830
25 ноября 2005 года
MVal
76 / / 17.10.2002
Спасибо за юрель - полезная статья.
Вообщем-то я уже сам сообразил как генерить сертификат, правдо делал это в никсовом шеле - теперь буду знать, что можно и в винде.
Вот гуглом нашел пример использования TIdTCPServer и TIdServerIOHandlerSSLOpenSSL (на дельфи). Судя по нему - действительно ни чего страшного и сверхестественного нет. Вот http://adg.bmpcoe.org/IndySSL/Indy10SSLExample.zip
Сам пока не пробовал - вчера уже ближе к ночи он мне попался. Сегодня попробую.
830
29 ноября 2005 года
MVal
76 / / 17.10.2002
Попробовал. Действительно работает.
Только сертификат под линуксом генерировал - виндовозная прога была глючная и требовала /usr/etc/... Наверное кривая верчия попалась. Под линуксом же с первого раза.
Сертификат надо скормить серверу. Клиенту - ничего не надо. Надо только саму опцию шифрования включить.
Если кому интересно - могу привести пример кода.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог