您的位置:首页 > 运维架构

OpenSSL 双向认证

2012-05-15 17:11 483 查看
在使用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签发。另外,要特别注意数字证书的有效期,如果证书过期,则会出现认证出错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: