获取 X509 数字证书里面的使用者信息 (openssl)
2013-02-21 19:56
513 查看
#define ENTRY_COUNT 7 struct entry { int key; char *name; }; static const struct entry nids[ENTRY_COUNT] = { {NID_countryName, "countryName"}, {NID_stateOrProvinceName, "stateOrProvinceName"}, {NID_localityName, "localityName"}, {NID_organizationName, "organiationName"}, {NID_organizationalUnitName, "organizationalUnitName"}, {NID_commonName, "commonName"}, {NID_pkcs9_emailAddress, "emailAddress"}, };
static int x509_get_subject(X509 *x) { X509_NAME *xn = NULL; ASN1_STRING *d = NULL; int j = 0; int pos = -1; unsigned i = 0; xn = X509_get_subject_name(x); j = X509_NAME_entry_count(xn); for (i = 0; i < ENTRY_COUNT; i++) { pos = -1; for (;;) { pos = X509_NAME_get_index_by_NID(xn, nids[i].key, pos); if (pos >=0 && pos <= j) { // pos != -1 d = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(xn, pos)); printf("%s = %s [%d]\n", nids[i].name, d->data, d->length); } } } return 0; }
相关文章推荐
- 获取 X509 证书的 Version 信息 (openssl)
- 获取文件数字签名证书信息
- 获取文件数字签名证书信息
- 通过OpenSSL获取证书扩展属性之三:“颁发机构密钥标识”和"使用者密钥标识"
- php获取证书序列号时openssl_x509_parse内存泄漏的替代的方案
- 获取数字证书信息
- OpenSSL学习之使用个人信息数字证书(PFX)进行签名和验证
- C#中使用X509Certificate2类获取数字证书颁发者和持有者的名称信息
- 获取文件数字签名证书信息
- java 数字证书信息的获取实例-java学习笔记(2)
- 通过OpenSSL获取X509证书的HASH(指纹)值
- 通过OpenSSL获取证书扩展属性之四:“CRL 分发点”和"颁发机构信息访问"
- openssl 获取x509.pem 证书信息
- Openssl编程获取X509证书的DNS
- 获取 X509 证书 serial (openssl)
- OpenSSL学习之使用个人信息数字证书(PFX)进行签名和验证
- OpenSSL学习之使用个人信息数字证书(PFX)进行签名和验证
- X509数字证书格式信息
- 读取*.cer公钥证书文件, 获取公钥证书信息
- Android Studio 获取数字签名信息(SHA1)