Ant*_*nio 6 openssl objective-c x509certificate ios
我正在开发一个需要从证书(.pfx)中读取主题备用名称的iOS应用程序.
Security.framework无法获取此信息,因此您使用的是OpenSSL(openssl-1.0.1e)
要读取主题名称我正在使用X509_get_subject_name(证书),而对于Issuer我正在使用X509_get_issuer_name(证书)并且正在使用.
问题是主题备选名称.我找不到任何函数来返回此信息.
是否可以使用OpenSSL获取主题备用名称?怎么样?
编辑:
我将证书导入MAC keychain.在主题备用名称上,我看到NT主要名称和RFC 822名称.
我试过这个,但它返回NULL:
GENERAL_NAME *name = (GENERAL_NAME*)X509_get_ext_d2i(cert,NID_subject_alt_name, NULL, NULL)
Run Code Online (Sandbox Code Playgroud)
我正在读证书:
X509 *cert;
CFDataRef der = SecCertificateCopyData(certificate);
const unsigned char * ptr = CFDataGetBytePtr(der);
int len = CFDataGetLength(der);
d2i_X509(&cert,&ptr,len);
Run Code Online (Sandbox Code Playgroud)
小智 4
您可以使用 X509_get_ext_by_NID() 然后 X509_get_ext() 获取 x509 主题备用名称:
int loc = X509_get_ext_by_NID(X509 *, NID_subject_alt_name, -1);
if (loc >= 0) {
X509_EXTENSION * ext = X509_get_ext(X509 *, loc);
Run Code Online (Sandbox Code Playgroud)
那么您必须使用 sk_GENERAL_NAME_num() 和 sk_GENERAL_NAME_value() 或 X509_get_ext_d2i() 解析扩展。
归档时间: |
|
查看次数: |
2586 次 |
最近记录: |