2011-10-07 67 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

聽起來會更好,是的。我更新了你的答案:-) –