2015-05-13 79 views
0

我有一個嵌入式設備正在運行mbed TLS (PolarSSL)此設備需要與服務器進行通信。這個服務器是用C#編寫的,並且對傳入的數據做了一些事情,換句話說,TLS不能直接監聽套接字,我有一個提供數據的方法。使用TLS無插座

就我所知,正常的C#庫只能直接在套接字之上工作,所以我不知道該怎麼做。我知道這聽起來很奇怪,但我完全不知道如何更好地解釋它。 (我的同事提到了一些關於uip的內容)

那麼TLS庫是否有創建服務器而無需使用套接字。

我想使用TLS 1.2與PSK和AES128-GCM。

+0

你可以使用OpenSSL。見http://stackoverflow.com/questions/22753221/openssl-read-write-handshake-data-with-memory-bio –

+0

@SteffenUllrich似乎很有希望,我會看看謝謝:D – Vincent

+0

@SteffenUllrich它似乎openssl沒有AES-128 GCM不幸的是它會是一個偉大的文件庫,否則:( – Vincent

回答

1

您可以編寫一個公開Socket類API並在內部處理與C#服務器的通信的虛擬套接字類。然後你可以在你的TLS庫中使用這個虛擬套接字。

當然,您需要確保API的行爲與Socket API完全一致,同步方法需要同步,異步方法需要異步,您也需要拋出與Socket API相同的異常。

我希望這有助於 德拉甘