2

我需要在 C++Builder XE7 中使用 SSL 连接到服务器。我可以找到 HTTPS 和 SMTP 的东西,但没有找到自定义连接的东西。在 BCB5 中,这要容易得多,我会使用自定义代码来完成,但现在使用 Android 和 iOS,需要做一些不同的事情,因为我们现在也需要支持这些产品。

我看过 TIdSocketSSL,但我能找到的例子很少,它似乎需要一个最终来自 SMTP 或 HTTPS 的所有者。

4

1 回答 1

2

C++Builder 随 Indy 一起提供,它有一个TIdTCPClient可用于实现自定义协议的组件。Embarcadero 的论坛、Indy 的论坛、StackOverflow 和各种博客上都有很多示例,展示了如何使用 Indy 发送/接收自定义数据。

对于 SSL/TLS,只需在调用之前将TIdSSLIOHandlerSocketOpenSSL组件分配给属性,并根据需要配置其属性(证书、SSL/TLS 版本等)。如果要执行 SSL 握手,请将属性设置为 false。您可以在调用之前设置它,以便在交换任何数据之前立即进行握手(也称为隐式 SSL/TLS),或者您可以在首先交换未加密的数据之后设置它(又名显式 SSL/TLS),具体取决于您的协议需求。TIdTCPClient::IOHandlerConnect()TIdSSLIOHandlerOpenSSL::PassThroughConnect()

于 2015-03-23T14:55:08.483 回答