2011-10-07 69 views
2

我需要与使用SSL的设备进行通信。它曾经使用套接字与我的Delphi应用程序进行通信,但现在我想使用设备的安全通信。Delphi中的SSL套接字

那么,有一个TServerSocket和TClientSocket等价的组件可以使用SSL?

回答

4

德尔福没有内置的直接等价物。您可以将Indy与OpenSSL或SecureBlackbox SSL类一起使用,但是Indy不是TServerSocket/TClientSocket的简易替代品,因为它们使用的编码模型非常不同。或者,您可以使用SecureBlackbox的TElSecureClientSocket和TElSecureServerSocket类 - 它们分别是TClientSocket和TServerSocket的后代和直接替换。注意:SecureBlackbox是我们的产品。

+2

说“Indy与TServerSocket/TClientSocket不兼容”有点令人误解。 'TClientSocket'可以与'TIdTCPServer'通信,'TServerSocket'可以和'TIdTCPClient'通信,就好了。无论在每端使用什么包装,TCP都是TCP。要在'TServerSocket' /'TClientSocket'中使用SSL,您必须手动将它们连接到OpenSSL或Crypto/STunnel API,就这些了。 Indy本身包装OpenSSL API,但其SSL结构被抽象出来,因此可以使用第三方SSL实现(如SecureBlackBox)。 –

+0

@Remy会不会“更换替代品”的声音更好?我很难猜出正确的单词,所以我会更新答案,如果这个听起来更好,或者你对这个单词有更好的建议。 –

+1

听起来会更好,是的。我更新了你的答案:-) –