【发布时间】:2013-04-05 11:01:48
【问题描述】:
我有一个指向 TLS 证书的指针,我需要获取 commonName 属性;
我首先使用函数 d2i_X509 创建 X509 对象,例如 ;
x = d2i_X509(NULL, &p, certificate_lenght);
if (x == NULL)
return https_failure;
比我调用函数 X509_NAME_get_text_by_NID 来获取 commonName
X509_NAME_get_text_by_NID(X509_get_subject_name(x),NID_commonName, hc->https_domain_name, 256);
它对我有用,但我担心性能。我认为,当我只需要 commonName 时,所有证书对象都会被解析。有没有更好的方法可以更高效地获取 commonName 。
【问题讨论】:
-
其实,如果你想对一个HTTPS网站进行认证,你需要先寻找Subject Alternative Names extensions (of DNS type),如果没有就回退到CN任何。
-
您不应该在没有进行实际测量的情况下推测可能的低效率。
-
我没有说效率低下。性能对我来说很重要。我想了解是否有更有效的方法。