2015-05-13 40 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相同的异常。

我希望这有助于 德拉甘