Wie extrahiere ich alle Themen einer Cacert-Datei mit der openssl-Befehlszeile?


8

Gibt es einen openssl-Befehl zum Extrahieren aller Zertifikatsubjekte einer Cacert-Datei (eine Datei, die mehrere Zertifikate wie /etc/ssl/certs/ca-certificates.crt enthält)?

Ich habe es versucht, openssl x509 -in /etc/ssl/certs/ca-certificates.crt -noout -subjectaber es gibt mir nur das Thema des ersten Zertifikats.

Antworten:


5

Leider glaube ich nicht, dass OpenSSL das kann. OpenSSL setzt ein Zertifikat pro Datei für x509-Aktionen voraus.

Laut dieser Seite müssen Sie sie in einzelne Dateien aufteilen. Er stellt sogar ein Perl-Skript zur Verfügung , das es für Sie aufteilt . Sie können dann die Dateien durchlaufen oder das Perl-Skript ändern, um den Betreff direkt zu extrahieren.


1

fileStellen Sie die Variable so ein, dass sie auf Ihre Datei verweist, ändern Sie den Befehl openssl und los geht's:

file="your file name"; first=""; for i in $(grep -n CERT "${file}" | cut -f 1 -d:)
do
    if [ -z "$first" ]
    then
        first=$i
        continue
    fi
    sed -n "$first,${i}p" "${file}" | openssl x509 -noout -subject
    first=""
done

Diese Antwort könnte verbessert werden, indem eine Beschreibung der Funktionsweise der Befehle hinzugefügt wird. Und übrigens, Sie brauchen die geschweiften Klammern nicht ${file}.
G-Man sagt "Reinstate Monica"

Dieses Skript funktioniert genau wie erwartet, es nimmt jeden Zertifikatabschnitt aus einer (Ketten-) Datei und zeigt die Betreffzeilen
user906489

0

So drucken Sie alle Motive in der CA-Datei:

openssl crl2pkcs7 -nocrl -certfile ca-certificates.crt | openssl pkcs7 -print_certs -text -noout | grep 'Subject:'

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.