微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – SSL_CTX_new返回NULL后获取错误描述的问题

我对SSL很新,其实我会说我一无所知.

我使用方法“SSL_CTX_new”来创建SSL_CTX对象.该方法返回null.文档说我可以检查错误堆栈以获得原因.

所以我有函数“int SSL_get_error(SSL * s,int ret_code)”(据我所知),我必须使用它来获取错误消息.该方法的文档没有说明该函数的第一个参数.它只表示第二个(“ret”)参数应该等于失败操作的返回码,该操作可以是以下任何一个

SSL_connect(),SSL_accept(),SSL_do_handshake(),SSL_read(),SSL_peek()或SSL_write()

所以现在我有两个问题.第一个是我没有使用任何这些函数,而是使用SSL_CTX_new,它不返回任何类型的返回代码(它返回一个指向SSX_CTX对象的指针)所以我不知道该放什么作为“ret”参数.第二个问题是我不知道第一个参数意味着什么,我应该把它放在那里,因为文档没有说明它.

解决方法

根据 http://www.mail-archive.com/openssl-users@openssl.org/msg51543.html,您可能错过了对SSL_library_init()的调用.在SSL_CTX_NEW(..)调用之前添加此项为我修复了NULL值问题.

原文地址:https://www.jb51.cc/c/116692.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐