如何获取X509_NAME_ENTRY的对象标识符名称?
我的例子:
X509_NAME *subject = X509_get_subject_name(certificate);
for (i = 0; i < X509_NAME_entry_count(subject); i++)
{
e =X509_NAME_get_entry(subject, i);
OBJ_obj2txt(id, 200, e->object, 1);
//id like '2.5.4.6,2.5.4.6'
value = ASN1_STRING_data(e->value);
}
对于idendifier“2.5.4.6,2.5.4.6”我想获得值“C”,“2.5.4.8,2.5.4.8” - “ST”等。
我该怎么做?
答案 0 :(得分:0)
这是
char long_name[512];
i2t_ASN1_OBJECT(long_name, sizeof(long_name), e->object);
OpenSSL称之为“ln”和
const char *short_name;
int nid = OBJ_ln2nid(long_name);
short_name = OBJ_nid2sn(nid);
表示“sn”。