Eine ASN.1 DER OCTET STRING mit OpenSSL dekodieren

8

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?

    
Roger Dahl 07.09.2011, 05:50
quelle

1 Antwort

5

@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%     
Roger Dahl 08.09.2011, 04:51
quelle

Tags und Links