Delphi 哪个Indy TIdHTTPServer代码ir负责SSL版本和密码的服务器端检查?

Delphi 哪个Indy TIdHTTPServer代码ir负责SSL版本和密码的服务器端检查?,delphi,ssl,indy,indy10,Delphi,Ssl,Indy,Indy10,我在Delphi2007中使用Indy10.6.2(SVN的当前版本)服务器组件,在Delphi6应用程序中使用客户端组件,当然还有OpenSSL 我在客户端应用程序中收到“连接SSL时出错。观察到EOF违反协议” 据我在web上发现的情况,这是由于服务器套接字关闭其连接引起的,例如,由于HTTP客户端和服务器之间的SSL版本或密码不匹配。这听起来很合乎逻辑 我想调试(在服务器端引入更多关于这种不匹配的报告),但是当发现任何不兼容时,检查和关闭服务器连接(拒绝客户端请求)的Indy库(系统、核心

我在Delphi2007中使用Indy10.6.2(SVN的当前版本)服务器组件,在Delphi6应用程序中使用客户端组件,当然还有OpenSSL

我在客户端应用程序中收到“连接SSL时出错。观察到EOF违反协议”

据我在web上发现的情况,这是由于服务器套接字关闭其连接引起的,例如,由于HTTP客户端和服务器之间的SSL版本或密码不匹配。这听起来很合乎逻辑

我想调试(在服务器端引入更多关于这种不匹配的报告),但是当发现任何不兼容时,检查和关闭服务器连接(拒绝客户端请求)的Indy库(系统、核心、协议)中的代码在哪里

我的问题的答案可以解决“与SSL连接时出错。观察到EOF违反了协议”,但它也可以帮助将来解决握手过程中的任何问题,即,如果我对被拒绝的连接实施更广泛的日志记录

当发现任何不兼容时,检查和关闭服务器连接(拒绝客户端请求)的Indy库(系统、核心、协议)中的代码在哪里

哪里都没有,因为不是印地在做检查。在处理SSL握手时,OpenSSL本身在内部进行检查。OpenSSL具有套接字句柄。当它检测到握手有问题时,它会立即关闭套接字连接,并向Indy返回一个错误,Indy随后关闭套接字句柄

当发现任何不兼容时,检查和关闭服务器连接(拒绝客户端请求)的Indy库(系统、核心、协议)中的代码在哪里


哪里都没有,因为不是印地在做检查。在处理SSL握手时,OpenSSL本身在内部进行检查。OpenSSL具有套接字句柄。当它检测到握手有问题时,它会立即关闭套接字连接,并向Indy返回一个错误,Indy随后关闭套接字句柄

可能重复的可能重复的OpenSSL返回相当有意义的错误代码,如果Indy IdHTTPServer有OnConnectionError接收此错误用于报告目的,可能会更好…我猜,IdCustomTCPServer.pas过程TIdCustomTCPServer.ContextConnected(AContext:TIdContext)。。。LConIntercept:=LServerIntercept.Accept(AContext.Connection)。。。是我需要进一步查找的地方。,@TomR
TIdSSLIOHandlerSocketOpenSSL
已经有
OnStatusInfo/Ex
事件。不,您在
tidcustmtcpserver
中指出的并不是您要查找的内容。可能OpenSSL返回了非常有意义的错误代码,如果Indy IdHTTPServer有OnConnectionError接收此错误以用于报告目的,可能会很好……我猜,IdCustomTCPServer.pas过程TIdCustomTCPServer.ContextConnected(AContext:TIdContext);…lconIntercept:=LServerIntercept.Accept(AContext.Connection);…是我需要进一步查找的地方。,@TomR
TIdSSLIOHandlerSocketOpenSSL
已经有
OnStatusInfo/Ex
事件。不,您在
tidcustompServer
中指出的不是您想要的。