使用openssl3.1改写
时间: 2023-10-22 17:07:22 浏览: 162
openssl安装包集合包含从1.1.0到3.3.1.zip
5星 · 资源好评率100%
使用openssl 3.1,我可以改写上述提到的BIO_get_ssl函数。根据引用,该函数用于设置SSL类型BIO的内部ssl指针,并使用参数c设置关闭标志。在openssl 3.1中,BIO_get_ssl函数的改写如下:
```c
int BIO_get_ssl(BIO *bio, SSL **ssl){
// 检查参数是否为空
if (bio == NULL || ssl == NULL){
return 0;
}
// 获取BIO的方法类型
const BIO_METHOD *method = BIO_method(bio);
// 检查方法类型是否为SSL类型
if (method->type != BIO_TYPE_SSL){
return 0;
}
// 设置ssl指针为BIO的内部ssl指针
*ssl = (SSL*)bio->ptr;
// 使用参数c设置关闭标志
(*ssl)->shutdown = bio->shutdown;
return 1;
}
```
这里,我们首先检查传入的参数是否为空,然后获取BIO的方法类型。如果方法类型是SSL类型,我们将ssl指针设置为BIO的内部ssl指针,并使用参数c设置关闭标志。最后,我们返回1表示成功执行函数,或者返回0表示失败。
这样,我们就成功地改写了BIO_get_ssl函数以适应openssl 3.1版本。
阅读全文