Dekodieren/Kodieren der OpenSSL-Datei „sess.pem“

Dekodieren/Kodieren der OpenSSL-Datei „sess.pem“

Ich verwende es, openssl sess_id -in sess.pem -noout -textum die SSL-Sitzungsparameter in der Datei sess.pem (die ich mit sess_out erhalten habe) in einen für Menschen lesbaren Text zu dekodieren. Ich wollte wissen, ob es eine Möglichkeit gibt, das Gegenteil zu tun, also den Text in ein sess.pem-ähnliches Format umzuwandeln. Im Grunde möchte ich nur ein paar Parameter (Sitzungs-ID, Hauptschlüssel usw.) in der Datei sess.pem ändern, kann aber scheinbar nicht den richtigen Befehl finden.

Antwort1

Es gibt keine Befehle zum Bearbeiten oder Erstellen einer SSL_SESSION, aber Sie asn1parse -genconfkönnen eine beliebige ASN.1-Struktur in DER erstellen, die Sie mithilfe der Definition in der Quelldatei anwenden ssl/ssl_asn1.cund dann mit sess_idoder einfach base64mit manuellen Header-/Trailer-Zeilen in PEM konvertieren können.

Um dies im Code zu tun, ist die API auf die übliche Weise dokumentiert; dies ist man -k SSL_SESSIONbei den meisten Unix- oder Unix-ähnlichen Systemen der Fall. Wenn Sie unter Windows oder einem anderen schlecht installierten/gepackten System arbeiten, gehen Sie zuhttps://www.openssl.org/docs/man1.1.1/man3/und schauen Sie unter PEM_*SSL_SESSIONund nach SSL_SESSION_*.

Aber selbst wenn es einem (benutzerdefinierten) Stapel nicht gelingt, die gespeicherten Parameter mit dem neuen Hallo zu vergleichen, müssen die gespeicherten Parameter grundsätzlich trotzdem verwendet werden. Obwohl es sich hierbei also zumindest um einen Verstoß gegen RFC handelt, sehe ich nicht, wie hier eine Sicherheitslücke bestehen kann.

Antwort2

Hier ist eine Fortsetzung zuAntwort von @dave_thompson_085: du kannst den ... benutzenPEM_read_SSL_SESSIONUndPEM_write_SSL_SESSIONFunktionen der OpenSSL-Bibliothek zum Dekodieren und Neukodieren der PEM-Datei.SSL_SESSION_set1_master_keyermöglicht Ihnen, den Hauptschlüssel zu optimieren.

verwandte Informationen