2

我目前正在做一些 OpenSSL 编程,我需要创建一个 OpenSSL BIO 并基本上启动与远程服务器的 SSL 连接,然后将该连接传递给另一个进程。我目前计划这样做的方式是将 BIO “打包”到内存缓冲区中并通过套接字发送,因为我需要取消引用 BIO 结构中包含的许多指针,因此不能只是“转换” BIO 到 char * 并发送过去。有谁知道是否有更简单的方法可以做到这一点?我看到有内存 BIO,但在做了一些研究之后,我仍然不清楚它们是否是我需要的......

谢谢

4

1 回答 1

0

重新设计您的解决方案要容易得多,这样您就不必将新创建的 SSL 套接字传递给另一个工作进程,而是为该进程打开一个常规套接字对。然后,您的 SSL 进程充当代理,在套接字到工作人员和 SSL 套接字之间传递数据。为了获得一些并行性,您可以在 SSL 进程中使用多个线程。

如果您真的想走将 SSL 套接字转移到另一个进程的路径,则需要转移整个 SSL 状态,以便在工作进程中正确初始化加密和解密状态。这意味着您需要了解需要传输 SSL 上下文的哪些部分,以及传输 SSL_SESSION。

于 2012-07-02T19:02:39.937 回答