gpt4 book ai didi

c - 将默认 BIO_METHOD 从 OpenSSL 1.0.2 迁移到 1.1.1

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:16 28 4
gpt4 key购买 nike

我正在尝试将我的应用程序代码从 OpenSSL 1.0.2 移植到 1.1.1,我遇到了一个我似乎无法理解的变化。

在 1.0.2 中,我们通过调用替换了 BIO_s_socket 的默认 breadbwrite 方法:

orig_bread = BIO_s_socket()->bread;
orig_bwrite = BIO_s_socket()->bwrite;
BIO_s_socket()->bread = my_bread;
BIO_s_socket()->bwrite = my_bwrite;

但是,在 OpenSSL 1.1.1 中,BIO_s_socket() 返回 const BIO_METHOD* 而不是 BIO_METHOD*。如何更改此版本中的默认行为?

编辑:(...如果不能再这样做,我该如何为每个 ssl 连接设置 bread 和 bwrite?)

最佳答案

I'm trying to port my application code from OpenSSL 1.0.2 to 1.1.0

首先,我建议您移至 1.1.1 而不是 1.1.0。 1.1.1 是长期支持版本 (LTS),将一直支持到 2023 年。1.1.0 支持将于今年晚些时候结束。

您需要创建自定义 BIO_METHOD。简而言之,您使用 BIO_meth_new() 创建一个,然后使用 BIO_meth_set_read()BIO_meth_set_write() 设置自定义读写函数。根据您的 BIO_METHOD 的用途,您可能需要调用其他设置函数。它们都记录在此处:

https://www.openssl.org/docs/man1.1.1/man3/BIO_meth_new.html

关于c - 将默认 BIO_METHOD 从 OpenSSL 1.0.2 迁移到 1.1.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55829616/

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