Mam certyfikat klienta w Chrome, którego użyłem do zalogowania się w StartSSL. Wyeksportowałem go za pomocą pk12util
do certfile.p12
. Teraz chcę go używać do podpisywania za pomocą S / MIME.
Przekonwertowałem p12
plik na pem
.
Najpierw sprawdzam, czy certyfikat będzie działał w tym celu:
$ openssl verify -purpose smimesign -verbose -CAfile ca-bundle.crt certfile.pem
certfile.pem: OK
Teraz próbuję podpisać:
$ 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
Jeśli użyję oryginalnego p12
pliku, to też nie działa, ale z innym komunikatem o błędzie:
$ 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
Co powinienem zrobić, aby podpisywać wiadomości za pomocą bezpłatnych certyfikatów StartSSL?
cat
plikcertfile.pem
. Powinien mieć-----BEGIN CERTIFICATE-----
i przyjaciół. Ponadtoopenssl smime -sign
może to nie być konieczne,-CAfile ca-bundle.crt
ponieważ nie weryfikujesz podpisu.Odpowiedzi:
Zapomniałem
-nodes
flagi podczas robieniapem
. Obejmuje to klucz prywatny.To
pem
może być użyty do podpisania.źródło