【发布时间】:2013-04-08 09:18:51
【问题描述】:
我可以得到像
这样的主题替代名称 X509_NAME_get_text_by_NID(X509_get_subject_name(x), NID_subject_alt_name, hc->https_domain_name, 256)
通过将 2. 参数更改为 NID_issuer_alt_name 使用相同的方法,我希望得到类似的发行者名称;
X509_NAME_get_text_by_NID(X509_get_subject_name(x), NID_issuer_alt_name, hc->https_ca_name, 256);
但我得到的是一个空字符串。如何正确检索颁发者备用名称?
【问题讨论】:
-
请检查给定证书是否有颁发者备用名称。我认为这是一个扩展。
-
你不应该不使用
X509_NAME_get_text_by_NID,因为它受到Marlinspike 嵌入的NULL技巧的影响。来自 OpenSSL 文档(未提及该漏洞):“应使用X509_NAME_get_index_by_NID或X509_NAME_get_index_by_OBJ,后跟X509_NAME_get_entry” -
另见 OpenSSL 的 wiki 页面 Hostname Validation。