【问题标题】:Open SSL Certificate Errors打开 SSL 证书错误
【发布时间】:2012-06-22 10:48:55
【问题描述】:

从此处为函数“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 主机不匹配错误,将调用这些错误中的哪一个? 即证书中的主机名和请求中的主机名不同?

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

【问题讨论】:

    标签: openssl ssl-certificate x509certificate


    【解决方案1】:

    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 *,可以使用ASN1_STRING_to_UTF8转换成char *

    请务必考虑 SAN 和 CN 中的通配符

    【讨论】:

      猜你喜欢
      • 2012-07-12
      • 2013-10-21
      • 2013-11-14
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      相关资源
      最近更新 更多