使用 OpenSSL 握手生成的密钥材料在本地加密/解密数据

发布于 2024-12-02 21:52:06 字数 346 浏览 1 评论 0原文

我目前正在开发一个需要 OpenSSL 加密的项目。 由于设计考虑(无法解决),加密过程必须遵循以下原则:

1) 执行 SSL 握手 2) 获取握手生成的密钥材料 3) 使用所述密钥材料在本地加密/解密数据,同时 4)使用外部机制获取和发送加密数据

第1阶段很容易执行,第4阶段已经实现,所以目前我的问题缩小到获取握手生成的密钥材料并使用它在本地加密/解密。 我猜测正确的方法是创建一个 BIO,该 BIO 未配置为写入套接字,而是写入本地内存段。但是,我无法创建这样的 BIO。 我尝试浏览 OpenSSL 的文档,但它非常缺乏,因此任何有经验的人提供的任何见解都会非常有帮助。

提前感谢您的帮助,或者至少到目前为止的阅读:)

I'm currently working on a project which requires OpenSSL encryption.
Due to design considerations (which are unfeasible to work around) the encryption process has to be along these lines:

1) Perform SSL handshake
2) Obtain keying material generated from the handshake
3) Use said keying material to encrypt/decrypt the data locally, while
4) Obtain and send encrypted data using an external mechanism

Stage 1 has been easy to perform, and stage 4 is already implemented, so currently my problem is narrowed down to obtaining the keying material generated from the handshake and using it to encrypt/decrypt locally.
I'm guessing the proper way to do it would be to create a BIO which isn't configured to write to a socket but to a local memory segment. However, I was unable to create such BIO.
I tried going through OpenSSL's documentation, but it is very very lacking, so any crumbs of insight from anyone who is experienced with it will be more than helpful.

Thanks in advance for landing a hand, or at least for reading so far :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

宁愿没拥抱 2024-12-09 21:52:06

我认为 BIO_s_mem() 是适合你的方法。

http://www.openssl.org/docs/crypto/BIO_s_mem.html

<一href="http://books.google.com/books?id=IIqwAy4qEl0C&lpg=PT105&ots=ma051L5CVu&hl=en&pg=PT107#v=onepage&q&f=false" rel="nofollow">http://books.google.com/books?id=IIqwAy4qEl0C&lpg=PT105&ots=ma051L5CVu&hl=en&pg=PT107#v=onepage&q&f=false

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文