Я тестирую Synapse и хочу знать, как мне установить безопасное соединение.Я заметил, что он поддерживает SSL, но я не уверен, соответствует ли он моим потребностям.У меня нет сертификата от CA.Я просто хочу зашифровать все данные между моей серверной программой и клиентской программой.Конечно, я могу зашифровать данные самостоятельно перед отправкой.Но если SSL может зашифровать данные, возможно, я смогу просто использовать его.Насколько я знаю, SSL предназначен для «шифрования» и «аутентификации».Что мне нужно, это только «шифрование».Это возможно с Synapse?
ОБНОВЛЕНИЕ:
Спасибо за помощь от daemon_x и автора Synapse Лукаса Гебауэра, я думаю, что наконец-то все заработало.Вот что я сделал:
На стороне сервера :
1) Использует ssl_openssl в вашем устройстве и помещает «libeay32.dll» и «ssleay32.dll» в одно и то жекаталог исполняемого файла
2) После того, как соединение принято, добавьте следующие строки кода для вновь созданного сокета.
fclient.SSLAcceptConnection;
Клиентская сторона :
1) Использует ssl_openssl в вашем устройстве и помещает 'libeay32.dll' и 'ssleay32.dll' в один и тот же каталог exe-файла
2) После подключения к серверу добавьте следующую строку.
fclient.SSLDoConnect;
Если ошибок не произошло, соединение теперь безопасно.Но когда вы запускаете свой код, как сказано в документе Synapse, вы можете заметить, что для возврата SSLAcceptConnection требуется некоторое время.Поэтому, если вы хотите ускорить процесс, лучше заранее создать файл сертификата и файл закрытого ключа.И добавьте следующий код перед SSLAcceptConnection
fclient.SSL.CertificateFile := 'bs-cert';
fclient.SSL.PrivateKeyFile := 'bs-privatekey';
Если у вас нет сертификата и закрытого ключа, обратитесь к «CreateSelfSignedCert» в ssl_openssl для получения самозаверяющего сертификата и закрытого ключа.Вы можете сохранить с помощью WriteStrToStream, например, FCertificate и FPrivatekey в файлы и использовать их позже.