打开SSL证书错误

时间:2012-06-22 10:48:56

标签: openssl ssl-certificate x509certificate

从为此函数“SSL_get_verify_result”提供的打开的ssl文档中: http://www.openssl.org/docs/ssl/SSL_get_verify_result.html 它声明错误在这里给出: http://www.openssl.org/docs/apps/verify.html

如果存在SSL主机不匹配错误,那么将调用哪些错误? 即证书中的主机名和请求中的主机名是不同的?

还有哪些错误实际上可以安全忽略?

1 个答案:

答案 0 :(得分:0)

SSL_get_verify_result不会进行主机名不匹配搜索。我们必须手动考虑证书中的多个CN和主题替代名称(SAN)。

可用于处理多个CN的功能是:

  

int lastpos = -1;   lastpos = X509_NAME_get_index_by_NID(X509_get_subject_name(cert),NID_commonName,lastpos);   X509_NAME_get_entry(X509_get_subject_name(cert),lastpos);

使用新的lastpos再次调用X509_NAME_get_index_by_NID将为我们提供下一个CN,直到它返回-1,表示没有更多的CN可用。

此函数提供X509_NAME_ENTRY *,可以使用char *将其转换为ASN1_STRING_to_UTF8

请务必考虑SAN和CN的

中的通配符