UTF8- und T61-Zeichenfolgen, wie kann ich feststellen, was mein SSL-Zertifikat verwendet?

895
user53029

Wie kann ich mit dem openssl x509-Tool feststellen, ob meine Zeichenfolgen T61 oder UTF8 im cert-Code sind oder nicht? Gibt es einen besseren Weg?

0

1 Antwort auf die Frage

1
dave_thompson_085

openssl x509: Wenn Sie die Felder Betreff und / oder Aussteller angeben, ist dies der einfachste und lesbarste Weg (IMO)

openss x509 -in certpemfile -noout -text -nameopt multiline,show_type 

oder wenn Sie möchten, dass nur die Namensfelder -textin -subjectund / oder geändert werden -issuer. Es gibt andere Formate, und wenn nicht-trivial codierte Daten sinnvoll angezeigt werden sollen, benötigen Sie möglicherweise zusätzliche Optionen. Siehe die Manpage auf Ihrem System oder unter https://www.openssl.org/docs/apps/x509.html#NAME-OPTIONS . Wenn Ihre Eingabe "DER" (binär) ist und nicht die viel häufigere "PEM" (textuell) ist, fügen Sie hinzu -inform der.

Wenn Sie meinen, dass Erweiterungen (Distinguished) -Namensfelder enthalten können - Ich zähle SAN / IAN, NameConstraints, CRLDP, AIA / SIA, obwohl ich nicht sehe, wie DN in den letzten drei Fällen nützlich wäre, und es gibt sicherlich mehr - - das wird nicht unterstützt, was ich weiß. Aber siehe weiter.

other: openssl asn1parse Dumps der genauen Typen, Längen und meistens Werte einer beliebigen ASN.1 BER / DER-Struktur, einschließlich eines Cert. Für Erweiterungen im X.509-Format (in OCTET STRING eingeschlossen) können Sie -strparse offsetdie verschachtelte Struktur ASN.1-decodieren. Das Erkennen und Auswählen der gewünschten Felder ist Ihre Aufgabe und kann im Allgemeinen schwierig sein. Da jedoch DNs und Erweiterungen jedes ihrer Elemente mit einer vorangehenden OID (die OpenSSL nur OBJECT aufruft) bezeichnen und asn1parsealle OPS dekodieren, die von openssl bekannt sind (und Sie diese angeben können) weitere), die Sie normalerweise nur visuell scannen können countryName, commonNameund dergleichen. Hinweis zu PEM: Viele opensslFunktionen erstellen oder akzeptieren und ignorieren "Kommentare" in Daten im PEM-Format, aberasn1parsenicht. Es behandelt die Striche BEGIN und BINDE ENDE, aber fast alles andere wird als Teil der Daten behandelt, die zu falschen Ergebnissen führen. Stellen Sie sicher, dass Ihre Eingabedatei (oder Pipe oder was auch immer) nur das einzige Zertifikat enthält.

Danke, ich kann jetzt eine andere Ausgabe bekommen, aber wie kann ich feststellen, ob es in T61 oder UTF8 ist? Der einzige Unterschied bei der Verwendung von nameopt mit den Argumenten erhalte ich jetzt Zeilen wie countryName = PRINTABLESTRING: ZA. user53029 vor 9 Jahren 0
Können Sie mir einen Beispielbefehl geben, mit dem ich den Speicherauszug des Zertifikats anzeigen kann? user53029 vor 9 Jahren 0
nm. Ich habs. Danke für die Hilfe! user53029 vor 9 Jahren 0