W systemie Ubuntu nie mogę pomyślnie przekonwertować certyfikatu za pomocą openssl.
vagrant@dev:/vagrant/keys$ openssl pkcs7 -print_certs -in a.p7b -out a.cer
unable to load PKCS7 object <blah blah>:PEM
routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: PKCS7
Czy widziałeś wcześniej ten błąd?
file a.p7b
ci daje?Odpowiedzi:
Spróbuj tego:
Jeśli to nie zadziała, przeniesie się na komputer z Windows i wyeksportuj postępuj zgodnie z tym przewodnikiem.
źródło
-print_certs
w swoim poleceniu. Wpływa na format wyjściowy: dzięki niemu otrzymujesz format PEM (zaczynając od ----- ROZPOCZNIJ CERTYFIKAT -----), a bez niego otrzymasz format PKCS # 7 (----- ROZPOCZNIJ PKCS7-- ---)-inform der
część. Należy również pamiętać, że podczas eksportowania klucza z Windows Cert Manager, DER i P7B są dwiema różnymi opcjami.Aby połączyć powyższe odpowiedzi, polecenie brzmi:
openssl pkcs7 -in cert.p7b -inform DER -print_certs -out cert.pem
Zweryfikowano, że działa w systemie Windows przy użyciu OpenSSL-Win64
/ Dzięki Bogdan za wykrycie błędu
źródło
Postępowałem zgodnie z tym przewodnikiem, który instruuje cię do zmiany linii nagłówka / stopki
do
Następnie uruchom polecenie
openssl pkcs7 -in foo.modified.crt -print_certs -out foo.certs
(gdziefoo.modified.crt
jest plik, w którym zapisałeś zmodyfikowaną wersję). To dało mi takie same wyniki jak uruchomienie eksportu certyfikatu Windows, jak sugerowano w innych odpowiedziach.źródło
O ile mi wiadomo, poniższe powinny przekonwertować certyfikat pkcs7 na pem
źródło
szybkie rozwiązanie w moim przypadku (wiele plików z brakującym nagłówkiem / stopką):
base64 -d $FILE | openssl pkcs7 -inform DER -print_certs
źródło
Też miałem ten problem. Chciałem zweryfikować plik p7b, który skopiowałem z hosta Win7.
Dowiedziałem się, że brelok gnome może zaimportować certyfikat. Stamtąd można łatwo eksportować do DER
źródło