Eksportuj certyfikaty i klucz prywatny z pliku PKCS # 12 za pomocą OpenSSL

Uwaga: Ten artykuł nie dotyczy certyfikatów do podpisywania kodu i podpisywania dokumentów SSL.com. Kluczy prywatnych tego typu certyfikatów nie można eksportować ani generować w postaci plików .pfx. Certyfikaty do podpisywania kodu i podpisywania dokumentów SSL.com oraz ich klucze prywatne mogą być generowane i przechowywane wyłącznie w Środowisko podpisywania w chmurze eSigner, A Yubikey urządzenie lub obsługiwane Chmura HSM.

Ten poradnik przeprowadzi Cię przez proces wyodrębniania informacji z pliku PKCS # 12 za pomocą OpenSSL. PKCS # 12 (znany również jako PKCS12 lub PFX) to format binarny do przechowywania łańcucha certyfikatów i klucza prywatnego w jednym, szyfrowanym pliku. Pliki PKCS # 12 są powszechnie używane do importowania i eksportowania certyfikatów i kluczy prywatnych na komputerach z systemem Windows i macOS i zwykle mają rozszerzenia nazw plików .p12 or .pfx.

Aby uzyskać bardziej przydatne instrukcje i najnowsze wiadomości o cyberbezpieczeństwie, zapisz się do newslettera SSL.com tutaj:

Co to jest OpenSSL?
OpenSSL jest bardzo przydatnym zestawem narzędzi wiersza poleceń typu open source do pracy z X.509 certyfikaty, żądania podpisania certyfikatów (CSRs) i klucze kryptograficzne. Jeśli używasz wariantu systemu UNIX, takiego jak Linux lub macOS, OpenSSL prawdopodobnie jest już zainstalowany na Twoim komputerze. Jeśli chcesz używać OpenSSL w systemie Windows, możesz włączyć Podsystem Linux w systemie Windows 10 lub zainstaluj Cygwin. Możesz także łatwo Stwórz plik PKCS # 12 z openSSL.

SSL.com zapewnia szeroką gamę domen SSL /TLS certyfikaty serwera dla witryn HTTPS.

PORÓWNAJ SSL /TLS CERTYFIKATY

Wideo

https://www.youtube.com/watch?v=S_imVMFOdhU

We wszystkich przykładach pokazanych poniżej zastąp nazwy plików, nad którymi faktycznie pracujesz INFILE.p12, OUTFILE.crt, OUTFILE.key.

Zobacz informacje o PKCS # 12 na ekranie

Aby zrzucić wszystkie informacje z pliku PKCS # 12 na ekran w Format PEMużyj tego polecenia:

openssl pkcs12 -info -w pliku INFILE.p12 -węzły

Zostaniesz poproszony o podanie hasła do pliku PKCS # 12:

Wprowadź hasło importu:

Wpisz hasło wprowadzone podczas tworzenia pliku PKCS # 12 i naciśnij enter. OpenSSL wyświetli na ekranie wszelkie certyfikaty i klucze prywatne z pliku:

Atrybuty torby localKeyID: AC 3E 77 9A 99 62 84 3D 77 CB 44 0D F9 78 57 7C 08 28 05 97 podmiot = / CN = Aaron Russell/emailAddress=*********@gmail.com emitent = / C = US / ST = Texas / L = Houston / O = SSL Corp / CN = SSL.com Client Certificate Intermediate CA RSA R1 ----- BEGIN CERTIFICATE ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1-l2r83

Szyfruj klucz prywatny

Jeśli chcesz zaszyfrować klucz prywatny i zabezpieczyć go hasłem przed wyjściem, po prostu pomiń -nodes flaga z polecenia:

openssl pkcs12 -info -w INFILE.p12

W takim przypadku zostaniesz poproszony o podanie i zweryfikowanie nowego hasła po tym, jak OpenSSL wyświetli jakiekolwiek certyfikaty, a klucz prywatny zostanie zaszyfrowany (pamiętaj, że tekst klucza zaczyna się od -----BEGIN ENCRYPTED PRIVATE KEY-----):

Enter PEM frazę: Weryfikacja - Enter PEM frazę: ----- BEGIN zaszyfrowany klucz prywatny ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- END szyfrowane PRYWATNY KLUCZ-----

Wyodrębnij tylko certyfikaty lub klucz prywatny

Jeśli chcesz tylko wyprowadzić klucz prywatny, dodaj -nocerts do polecenia:

openssl pkcs12 -info -w INFILE.p12 -węzły -nocerts

Jeśli potrzebujesz tylko certyfikatów, użyj -nokeys (a ponieważ nie interesuje nas klucz prywatny, możemy również bezpiecznie pominąć -nodes):

openssl pkcs12 -info -w INFILE.p12 -nokeys

Zapisz certyfikaty i klucze prywatne w plikach

Możesz wyeksportować certyfikaty i klucz prywatny z pliku PKCS # 12 i zapisać je w formacie PEM do nowego pliku, określając wyjściową nazwę pliku:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -węzły

Ponownie zostaniesz poproszony o podanie hasła do pliku PKCS # 12. Tak jak poprzednio, możesz zaszyfrować klucz prywatny, usuwając rozszerzenie -nodes flaga z polecenia i / lub dodaj -nocerts or -nokeys wyprowadzać tylko klucz prywatny lub certyfikaty. Aby wygenerować plik klucza prywatnego, możemy użyć tego polecenia:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.key -węzły -nocerts

Aby utworzyć plik zawierający tylko certyfikaty, użyj tego:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -nokeys

Konwertuj klucz prywatny na format PKCS # 1

Powyższe przykłady wyświetlają klucz prywatny w domyślnej wersji OpenSSL PKCS # 8 format. Jeśli wiesz, że potrzebujesz PKCS # 1 zamiast tego możesz potokować wyjście narzędzia PKCS # 12 OpenSSL do jego narzędzia RSA lub EC w zależności od typu klucza. Oba poniższe polecenia spowodują wyświetlenie pliku klucza w formacie PKCS # 1:

RSA

openssl pkcs12 -w INFILE.p12 -węzły -nocerts | openssl rsa -out OUTFILE.key

ECDSA

openssl pkcs12 -w INFILE.p12 -węzły -nocerts | openssl ec -out OUTFILE.key

Uwaga: Różnicę między plikami kluczy prywatnych PKCS # 8 i PKCS # 1 można rozpoznać, patrząc na pierwszy wiersz tekstu. Pliki PKCS nr 1 określają algorytm:
-----BEGIN RSA PRIVATE KEY-----

Pliki PKCS # 8 nie pokazują algorytmu i mogą być również szyfrowane:
-----BEGIN PRIVATE KEY-----
or
-----BEGIN ENCRYPTED PRIVATE KEY-----


Dziękujemy za wybranie SSL.com! W razie jakichkolwiek pytań prosimy o kontakt mailowy pod adresem Support@SSL.com, połączenie 1-877-SSL-SECURElub po prostu kliknij link czatu w prawym dolnym rogu tej strony.

Zapisz się do newslettera SSL.com

Nie przegap nowych artykułów i aktualizacji z SSL.com

Bądź na bieżąco i bezpiecznie

SSL.com jest światowym liderem w dziedzinie cyberbezpieczeństwa, PKI i certyfikaty cyfrowe. Zarejestruj się, aby otrzymywać najnowsze wiadomości branżowe, wskazówki i ogłoszenia o produktach od SSL.com.

Będziemy wdzięczni za Twoją opinię

Weź udział w naszej ankiecie i daj nam znać, co myślisz o swoim ostatnim zakupie.