我有一个到另一个实体的数据包接口(interface),而不是 TCP 连接,但我需要通过 SSL over TCP 在此接口(interface)上执行 SSL。想知道是否有一个库在 SSL 上具有以下 3 个 API。它们应该是不言而喻的,并且它们将非常适合数据包接口(interface)(而不是流/套接字接口(interface))。
ssl = createSSL();
clearText = fromSSLPipe(ssl, encryptedData, len, &outputLen);
encryptedData = toSSLPipe(ssl, cleartext, len, &outputLen);
如果没有这样的库,有人可以举一些例子来说明如何实现它们吗?
提前致谢。
最佳答案
SSL/TLS 使用大小最大为 16k 的帧。因此,如果这对您来说足够了,您可以通过 TCP 连接从 openssl 简单地使用 SSL_write(如果数据 <16k 将输出单个 SSL 帧)和 SSL_read(将读取单个 SSL 帧并对其进行解密)。如果你需要加密的 UDP,你可以使用 DTLS,它也是由 openssl 实现的。虽然 openssl 库是用 C 语言编写的,但它有许多语言的接口(interface),例如 perl、python、ruby...
关于SSL 编程接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20930432/