Как установить безопасное соединение с помощью Synapse?

Я тестирую Synapse и хочу знать, как установить безопасное соединение. Я заметил, что он поддерживает SSL, но не уверен, подходит ли он моим потребностям. У меня нет сертификата из ЦС. Я просто хочу зашифровать все данные между моей серверной программой и клиентской программой. Конечно, я могу сам зашифровать данные перед отправкой. Но если SSL может зашифровать данные, возможно, я смогу просто использовать его. Насколько я знаю, SSL предназначен для «шифрования» и «аутентификации». Мне нужно только «шифрование». Возможно ли это с Synapse?

ОБНОВЛЕНИЕ:

Спасибо за помощь от daemon_x и автора Synapse, Лукаса Гебауэра, я думаю, что наконец-то все заработало. Вот что я сделал:

Сторона сервера :

1) Использует ssl_openssl в вашем устройстве и помещает 'libeay32.dll' и 'ssleay32.dll' в тот же каталог с исполняемым файлом

2 ) После того, как соединение принято, добавьте следующие строки кода для вновь созданного сокета.

fclient.SSLAcceptConnection;

Клиентская сторона :

1) Использует ssl_openssl в вашем устройстве и помещает 'libeay32.dll' и 'ssleay32.dll' в тот же каталог с исполняемым файлом

2) После подключения к серверу добавьте следующую строку.

fclient.SSLDoConnect;

Если ошибок не произошло, соединение теперь безопасное. Но когда вы запускаете свой код, как сказано в документе Synapse, вы можете заметить, что SSLAcceptConnection требует некоторого времени для возврата. Поэтому, если вы хотите ускорить процесс, вам лучше заранее создать файл сертификата и файл закрытого ключа. И добавьте следующий код перед SSLAcceptConnection

  fclient.SSL.CertificateFile := 'bs-cert';
  fclient.SSL.PrivateKeyFile := 'bs-privatekey';

. Если у вас нет сертификата и закрытого ключа, обратитесь к «CreateSelfSignedCert» в ssl_openssl для получения самозаверяющего сертификата и закрытого ключа. Вы можете сохранить, например, с помощью WriteStrToStream, FCertificate и FPrivatekey в файлы и использовать их позже.

9
задан trudger 15 June 2011 в 02:49
поделиться