gpt4 book ai didi

c - 在两个不同进程之间共享 OpenSSL BIO

转载 作者:太空宇宙 更新时间:2023-11-04 00:08:55 25 4
gpt4 key购买 nike

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

谢谢

最佳答案

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

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

关于c - 在两个不同进程之间共享 OpenSSL BIO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11299051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com