Ich habe ein Client-Zertifikat in Chrome, das ich für die Anmeldung bei StartSSL verwendet habe. Ich habe es mit pk12util
nach exportiert certfile.p12
. Jetzt möchte ich es zum Signieren mit S / MIME verwenden.
Ich habe die p12
Datei 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 p12
verwende, 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?
cat
die Dateicertfile.pem
. Es sollte-----BEGIN CERTIFICATE-----
und Freunde haben. Außerdem ist diesopenssl smime -sign
möglicherweise nicht erforderlich,-CAfile ca-bundle.crt
da Sie keine Signatur überprüfen.Antworten:
Ich habe die
-nodes
Flagge vergessen, als ich das gemacht habepem
. Dies beinhaltet den privaten Schlüssel.Dies
pem
kann zum Signieren verwendet werden.quelle