Decodificando um ASN.1 DER OCTET STRING com OpenSSL
Usando a API OpenSSL, extraí uma extensão personalizada de um certificado X.509v3 com:
X509_EXTENSION* ex = X509_get_ext(x509, 4);
O objeto X509_EXTENSION contém um valor (ex-> value) que é um ASN.1 OCTET STRING. O OCTET STRING contém uma sequência UTF-8 codificada por DER. Estou tentando decodificar a OCTET STRING para obter a string UTF-8 simple
Tentei algumas coisas, como:
ASN1_STRING_to_UTF8(&buf, ex->value);
M_ASN1_OCTET_STRING_print(bio, ex->value);
int len = BIO_read(bio, buf, buf_size);
buf[len] = '\0';
Esses dois me fornecem a string codificada pelo DER. Como obtenho a string UTF-8 simple