【问题标题】:C++Builder XE Raw SSL socketC++Builder XE 原始 SSL 套接字
【发布时间】:2015-03-23 01:53:18
【问题描述】:

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

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

【问题讨论】:

    标签: c++ c++builder c++builder-xe7


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 1970-01-01
      • 2018-12-02
      • 2018-09-11
      • 1970-01-01
      • 2015-02-25
      相关资源
      最近更新 更多