Próbuję użyć OpenSSL do konwersji pliku PEM i klucza prywatnego RSA do pliku PFX. Oto przykładowe polecenie, którego próbowałem użyć:
openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem
W ten sposób otrzymuję następujący komunikat o błędzie:
unable to load private key
9068:error:0906D06C:PEM routines:PEM_read_bio:no start
line:pem_lib.c:696:Expecting: ANY PRIVATE KEY
Plik cert wygląda następująco:
-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----
i klucz prywatny wygląda następująco:
-----BEGIN RSA PRIVATE KEY-----
....
-----END RSA PRIVATE KEY-----
Kopałem błąd, ale nie znalazłem jeszcze rozwiązania.
EDYTOWAĆ
Po kilku dodatkowych badaniach wydaje się, że jest to problem z różnymi wersjami openssl.
Jeśli uruchomię go na moim systemie OSX, który działa w wersji 0.9.8zh 14 stycznia 2016, te instrukcje działają poprawnie.
Jeśli jednak uruchomię go na komputerze z systemem Windows w wersji OpenSSL 1.0.1p 9 lipca 2015 i OpenSSL 1.1.0g 2 listopada 2017, otrzymam powyższe błędy.
openssl rsa -in <private key filename> -noout -text
pokazuje szczegóły klucza lub błąd? Może plik klucza prywatnego jest uszkodzony? Jeśli to działa, przekonwertuj go na klucz prywatny PKCS # 8openssl pkcs8 -in <private key file> -topk8 -nocrypt -out <new private key file>
i spróbuj wygenerować PKCS # 12.