Mit der OpenSSL-API habe ich eine benutzerdefinierte Erweiterung aus einem X.509v3-Zertifikat mit:
extrahiert %Vor%Das X509_EXTENSION-Objekt enthält einen Wert (ex & gt; -Wert), der ein ASN.1 OCTET STRING ist. Das OCTET STRING enthält eine DER-codierte UTF-8-Zeichenfolge. Ich versuche, den OCTET STRING zu dekodieren, um die einfache UTF-8-Zeichenfolge zu erhalten.
Ich habe ein paar Dinge versucht, wie zum Beispiel:
%Vor%und
%Vor%Beide geben mir die DER-codierte Zeichenfolge. Wie bekomme ich die einfache UTF-8-Zeichenfolge?
@Francois wies mich auf die Funktion ASN1_get_object () hin. Diese Funktion eignet sich für dieses Szenario, in dem die Zertifikatserweiterung nur einen einzelnen Wert enthält.
ASN1_get_object () nimmt einen Zeiger auf einen Zeiger auf einen C-Puffer, der ein DER-codiertes Objekt enthält. Sie gibt die Daten selbst (durch Anpassen des Zeigers), die Länge der Daten, den ASN.1-Tag-Wert und die ASN.1-Objektklasse zurück.
%Vor%