在使用OpenSSL进行SSL双向认证时,需要在服务器和客户端配置如下接口函数:
SSL_CTX_set_verify(SSL_CTX* ctx,int mode,int (*verify_callback)(int,X509_STORE_CTX*));
SSL_CTX_load_verify_locations(SSL_CTX* ctx,const char* CAfile,const char* CApath);
在接口函数SSL_CTX_set_verify中设置第二个参数(mode)为SSL_VERIFY_PEER,该参数标识对通信对方进行认证。如果设置证书验证回调函数verify_callback,则OpenSSL库默认使用内嵌的验证函数进行验证。
接口函数SSL_CTX_load_verify_locations用来设置默认验证的CA证书或者CA证书所在的目录。该接口函数一般和上一个接口函数SSL_CTX_set_verify联合使用。OpenSSL库内嵌的验证函数会使用该函数提供的CA证书。
PS:如果认证出错,要确定服务器证书或客户端证书是否由所提供的CA签发。另外,要特别注意数字证书的有效期,如果证书过期,则会出现认证出错。
本文发布于:2024-02-01 05:34:41,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170673687934264.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |