SSL Cert - Windows
Certyfikaty SSL - wszystkie klucze prywatne ulokowane są w następującej lokalizacji:
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
W systemie windows certyfikaty - KeySpace można podejrzeć z linii poleceń używając polecenia
certutil –v –store my <thumbprint>
UWAGA: W powyższym poleceniu informacje o odcisku palca można znaleźć w zakładce szczegółów certyfikatu. Poniżej przedstawiono prawidłowe polecenia:
certutil -v -store my "77 e6 5a 43 59 93 5d 5f 7a 75 80 1a cd ad c2 22"
certutil -v -store my "77e65a4359935d5f7a75801acdadc222"
certutil -v -store my 77e65a4359935d5f7a75801acdadc222
Właściwość KeySpec określa, czy klucz prywatny może być używany do szyfrowania, podpisywania, czy obu.
Różne formaty certyfikatów SSL
Różne formaty certyfikatów SSL
PEM FORMAT
Format PEM jest najczęściej stosowanym formatem wśród certyfikatów SSL wydawanych przez urzędy certyfikacji. Ten typ certyfikatu zawiera następujące wiersze: "----- BEGIN CERTIFICATE -----" i "----- END CERTIFICATE -----". Certyfikaty z rozszerzeniem .pem są identyczne z rozszerzeniami .crt lub .cer. W ten sposób możliwe jest zmodyfikowanie rozszerzenia tych plików. Certyfikaty PEM mogą zawierać zarówno certyfikat, jak i klucz prywatny w tym samym pliku. Jednak większość serwerów, takich jak Apache, preferuje, abyś podzielił je na osobne pliki.
- Certyfikaty PEM mają rozszerzenie .pem, .crt, .cer and .key
- są zakodowane ASCII Base64 format
- Są używane dla serwerów Apache lub podobnych konfiguracji
DER FORMAT
Format DER jest binarnym formatem PEM.
- DER certyfikat posiada .der, .cer rozszerzenie
- Certyfikaty DER są powszechnie używane w serwerach JAVA
PKCS#7 AND P7B FORMAT
PKCS#7 lub P7B format jest kodowany w ASCII Base64 format. Ten tym certyfikatu zawiera następujące wiersze: "-----BEGIN PKCS7-----" "-----END PKCS7-----". Specyfikacja formatu p7B zawiera tylko certyfikaty i certyfikat łańcucha (string certificates) nie zawiera klucza prywatnego (private key).
- Posiada rozszerzenie .p7b lub .p7c
- Używane są dla Microsoft windows i Java Tomcat serwerów
PKCS#12 AND PFX FORMAT
PKCS#12 lub PFX kodowany jest w binarnym formacie. Ten typ certyfikatu przechowuje certyfikat serwera, a także certyfikaty pośrednie i klucz prywatny w jednym zaszyfrowanym pliku. Certyfikaty z rozszerzeniami .p12, .pksc#12 lub .pfx są identyczne. Możesz zmienić rozszerzenie plików .pfx na .p12 i odwrotnie.
- Mają one rozszerzenia .pfx lub .p12
- Są zasadniczo używane dla serwerów Microsoft windows
Uwaga: podczas konwersji pliku PFX na plik PEM wszystkie certyfikaty i klucz prywatny są zintegrowane w jednym pliku. Konieczne będzie podzielenie różnych części pliku na osobne pliki. Możemy to wykonać następując metodą:
- Otwórz plik w edytorze tekstu
- Skopiuj wszystkie certyfikaty i klucz prywatny wraz z wierszami (BEGIN / END) do osobnych plików
- Zapisz pliki w następujących formatach: certificate.cer, CACert.cer i privateKey.key.
Polecenia OpenSSL do konwersji
Zaleca się konwersję plików bezpośrednio za pomocą poleceń OpenSSL, aby zachować klucz prywatny w tajemnicy. Aby to zrobić, użyj następujących poleceń, aby przekonwertować pliki na różne formaty.
CONVERT PEM
PEM TO DER
openssl x509 -outform der -in certificate.pem -out certificate.der
PEM TO P7B
openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
PEM TO PFX
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
CONVERT DER
DER(.CRT .CER .DER) TO PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
DER TO CER
openssl x509 -inform der -in certificat-ssl.der -out certificat-ssl.cer
CONVERT P7B
P7B TO PEM
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
P7B TO PFX
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
P7B TO CER
openssl pkcs7 -print_certs -in certificat-ssl.p7b -out certificat-ssl.cer
CONVERT PFX
PFX TO PEM
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
CONVERT CER
CER TO P7B
openssl crl2pkcs7 -nocrl -certfile certificat-ssl.cer -certfile cert-intermediaire.cer -certfile cert-racine.cer -out certificat-ssl.p7b
CER TO PFX
openssl pkcs12 -in certificat-ssl.cer -certfile cert-intermediaire.cer -certfile cert-racine.cer -inkey cle-privee.key -export -out certificat-ssl.pfx
CER TO DER
openssl x509 -in certificat-ssl.cer -outform der -out certificat-ssl.der
Jak utworzyć plik certyfikatu PFX z pliku PEM
Jak utworzyć plik certyfikatu PFX z pliku PEM
Zagadnienie
Niektóre urzędy certyfikacji (takie jak RAPID SSL) dostarczają certyfikat tylko w postaci pliku PEM, który nie jest używany przez wiele usług systemu Windows, szczególnie przez usługę IIS.
W przypadku RAPID SSL plik PEM nie został wygenerowany jako część żądania podpisania certyfikatu i składa się z certyfikatu i klucza prywatnego.
Jak przekonwertować plik w formacie PEM do formatu PFX
- Zainstaluj najnowszy stabilny Open SSL. Strona główna jest tutaj lub możesz te pliki znaleźć w tej lokalizacji - tutaj.
- Skopiuj plik PEM do folderu binarnego OpenSSL, na przykład C:\Program Files\OpenSSL-Win64\bin
- Otwórz CMD - wiersz poleceń jako administrator lub okno programu Powershell z uprawnieniami administratora w tym folderze
- Wpisz:
.\openssl pkcs12 -export -out result.pfx -inkey mypemfile.pem -in mypemfile.pem
- W ramach procesu zostanie wyświetlony monit o podanie hasła PFX. Musisz bezpiecznie przechowywać hasło z plikiem PFX, aby móc z niego korzystać.
- Powyższe polecenie -inkey służy do wprowadzania klucza prywatnego. Jeśli masz osobne żądanie podpisania certyfikatu (CSR), prawdopodobnie nie będzie go w programie . PEM, ale byłby w osobnym pliku . Plik CRT:
.\openssl pkcs12 -export -out result.pfx -inkey mycsrkeyfile.crt -in mypemfile.cer
Zobacz także tutaj.
Dotyczy:
- Usługi systemu Windows Server, które wymagają certyfikatu PFX zawierającego klucz prywatny
Opis poleceń:
openssl
– polecenie do wykonania OpenSSLpkcs12
– narzędzie plików dla plików PKCS#12 w OpenSSL-export -out certificate.pfx
– eksport i zapis pliku PFX jako certificate.pfx-inkey privateKey.key
– użyj pliku klucza prywatnego privateKey.key jako klucza prywatnego do połączenia z certyfikatem.-in certificate.crt
– użyj certificate.crt jako certyfikatu, z który zostanie połączony klucz prywatny.-certfile more.crt
– Jest to opcjonalne, jeśli masz jakieś dodatkowe certyfikaty, które chciałbyś dołączyć do pliku PFX.
PKCS#7/P7B (.p7b, .p7c) do PFX
Pliki P7B nie mogą być używane do bezpośredniego tworzenia pliku PFX. Pliki P7B muszą zostać przekonwertowane na PEM. Po przekonwertowaniu na PEM wykonaj powyższe kroki, aby utworzyć plik PFX z pliku PEM.
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.crt
Podział polecenia:
openssl
– polecenie do wykonania OpenSSLpkcs7
– narzędzie plików dla plików PKCS#7 w OpenSSL-print_certs -in certificate.p7b
– drukuje wszelkie certyfikaty lub listy CRL zawarte w pliku.-out certificate.crt
– wyprowadz plik jako certificate.crt