如何使用openssl库将ASN1_object转换为可读格式。

时间:2012-04-05 05:53:51

标签: openssl certificate ssl-certificate x509certificate x509

X509_extension结构有一个ASN1_object变量。我想看看那里的内容是什么。 任何人都可以告诉我如何做到这一点

2 个答案:

答案 0 :(得分:6)

ASN1_OBJECT只是OpenSSL对OID(对象标识符)的表示。如果您只想知道它是OID,那么:

ASN1_OBJECT *obj = X509_EXTENSION_get_object(ex); // ex is your X509_EXTENSION *
char buff[1024];
OBJ_obj2txt(buff, 1024, obj, 0); // 0 means it will prefer a textual representation (if available) rather than the numerical one

然后buf将包含带有OID的C字符串。

问候。

答案 1 :(得分:0)

您可以通过以下代码片段的形式访问对象的数据值:

ASN1_OBJECT *obj = X509_EXTENSION_get_object(ex);
char *dt_value = (char *)ext->value->data
printf("Object Value: %s\n", dt_value);