S / MIME-Signierung mit OpenSSL nicht möglich, auch wenn die Überprüfung erfolgreich war


1

Ich habe ein Client-Zertifikat in Chrome, das ich für die Anmeldung bei StartSSL verwendet habe. Ich habe es mit pk12utilnach exportiert certfile.p12. Jetzt möchte ich es zum Signieren mit S / MIME verwenden.

Ich habe die p12Datei in konvertiert pem.

Zuerst stelle ich sicher, dass das Zertifikat für diesen Zweck funktioniert:

$ openssl verify -purpose smimesign -verbose -CAfile ca-bundle.crt certfile.pem
certfile.pem: OK

Jetzt versuche ich zu unterschreiben:

$ echo "lol" | openssl smime -sign -CAfile ca-bundle.crt -signer certfile.pem
unable to load signing key file
3074062600:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY

Wenn ich die Originaldatei p12verwende, funktioniert sie auch nicht, jedoch mit einer anderen Fehlermeldung:

$ openssl verify -purpose smimesign -verbose -CAfile ca-bundle.crt certfile.p12
unable to load certificate
3074066696:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE

Was soll ich tun, damit ich Nachrichten mit kostenlosen StartSSL-Zertifikaten signieren kann?


catdie Datei certfile.pem. Es sollte -----BEGIN CERTIFICATE-----und Freunde haben. Außerdem ist dies openssl smime -sign möglicherweise nicht erforderlich, -CAfile ca-bundle.crtda Sie keine Signatur überprüfen.
Jww

Antworten:


3

Ich habe die -nodesFlagge vergessen, als ich das gemacht habe pem. Dies beinhaltet den privaten Schlüssel.

openssl pkcs12 -in certfile.p12 -nodes -out certfile2.pem

Dies pemkann zum Signieren verwendet werden.


Sie sollten Ihre eigene Antwort wahrscheinlich als akzeptiert markieren, damit andere wissen, dass dies die Lösung war.
Jww
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.