小编And*_*ndy的帖子

如何在Delphi XE3中使用TIdTCPServer和OpenSSL在同一端口上支持SSL和非SSL流量?

我正在尝试使用Indy和OpenSSL在Delphi XE3中设置一个Web服务器,它可以在同一端口上通过HTTP和HTTPS连接提供流量.

我已经看到了两种主要的方法,似乎都不适合我.

第一种:前期TLS/SSL.这涉及读取流的前几个字节以查找非安全握手的"Client-Hello"部分和(如果找到)调用服务器SSL握手响应,但是如果我这样做,则OpenSSL库无法识别握手,因为我已经剥离了消息的前导字节.

第二:STARTTLS之后的TLS(或等效的).这涉及发送一组特殊字符(STARTTLS),紧接着是"Client-Hello".然后,服务器保留完整的SSL握手消息,以传递给OpenSSL库.这种方法的问题是大多数Web浏览器不支持它(RFC 2817).

有关这两种方法的摘要,请查看此处: 设置TLS/LDAP或TLS/HTTP连接时,线路上会发生什么?)

如何在Delphi XE3中使用TIdHTTPServer和OpenSSL在同一端口上支持SSL和非SSL流量?

delphi ssl openssl http indy

5
推荐指数
1
解决办法
1351
查看次数

标签 统计

delphi ×1

http ×1

indy ×1

openssl ×1

ssl ×1