3

我正在使用 TIdTCPClient 和 TidTCPServer 通过 SSL 将数据从客户端发送到服务器。我在服务器和客户端设置了以下代码

*强文本*服务器端

   IdServerIOHandlerSSLOpenSSL1.SSLOptions.Mode = sslmServer
   IdServerIOHandlerSSLOpenSSL1.SSLOptions.Method = sslvTLSv1

*强文本*Cleint Side

   IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode = sslmUnassigned
   IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method = sslvTLSv1

错误是错误:* 1408F10B:SSL 例程:SSL3_GET_RECORD:服务器端的版本号错误*

当我从 Delphi IDE 执行服务器应用程序时,显示错误消息,单击 Continue 按钮后建立连接

在服务器和客户端都使用相同的 DLL 版本

    libeay32.dll - 0.9.8.18
     ssleay32.dll - 0.9.8.18

我使用的是 Delphi 2010 版,Indy 版本是 10.5.5。

在同一系统中不会发生上述错误。它发生在客户端系统中。以上 dll 放在 Exe 文件夹中。

我在上面的代码中做错了什么或任何错误配置..?

提前谢谢

4

1 回答 1

3

发生该错误后,您无法建立连接。这是 SSL 握手错误。OpenSSL 会在向您报告错误后关闭连接。

您正在使用一些过时的 Indy 版本。当前版本是 10.5.9。

于 2012-10-15T20:49:27.483 回答