Konwersja formatu klucza prywatnego i certyfikatu
Poniższa strona zawiera przykładowe polecenia do konwersji klucza prywatnego i certyfikatu między różnymi formatami, przy wykorzystaniu oprogramowania OpenSSL. Konwersja może być potrzebna w celu dostosowania formatu do indywidualnych wymagań określonego oprogramowania klienckiego.
Konwersja klucza prywatnego i certyfikatu
Z PEM do PKCS #12
Konwersja przykładowego klucza prywatnego w formacie PEM zapisanego w pliku 439d.key oraz certyfikatu w formacie PEM zapisanego w pliku 439d.crt do archiwum PKCS #12 zapisanego w pliku 439d.p12 z nadaniem przykładowej przyjaznej nazwy '439d@demo.cybo.pl' możliwa jest za pomocą polecenia
openssl pkcs12 -export -inkey 439d.key -in 439d.crt -out 439d.p12 -name "439d@demo.cybo.pl"
Uwagi:
- Archiwum PKCS #12 służy do importowania klucza prywatnego i certyfikatu np. do programów Firefox, Thunderbird oraz do systemów Android i Windows.
- W przypadku jeśli klucz prywatny w pliku 439d.key jest zaszyfrowany, po uruchomieniu powyższego polecenia konieczne będzie podanie hasła do niego.
- Przed zakończeniem generowania archiwum 439d.p12 program zapyta dwukrotnie o hasło, które będzie użyte do zaszyfrowania tego archiwum. Hasło to będzie potrzebne np. przy imporcie archiwum do programów lub eksporcie plików z tego archiwum jak niżej.
- Przyjazna nazwa zapisana w archiwum PKCS #12 (439d@demo.cybo.pl w powyższym przykładzie) jest pokazywana w niektórych programach przy certyfikacie zaimportowanym do nich z takiego archiwum.
Z PKCS #12 do PEM
Klucz prywatny
Eksport klucza prywatnego z archiwum PKCS #12 zapisanego w pliku 439d.p12 do pliku 439d.key w formacie PEM możliwy jest za pomocą polecenia
openssl pkcs12 -in 439d.p12 -nocerts -out 439d.key
Uwagi:
- Przy eksporcie program zapyta o hasło do archiwum oraz dwukrotnie o hasło, którym zaszyfrowany zostanie wyeksportowany klucz.
Certyfikat
Eksport certyfikatu użytkownika z archiwum PKCS #12 zapisanego w pliku 439d.p12 do pliku 439d.crt w formacie PEM możliwy jest za pomocą polecenia
openssl pkcs12 -in 439d.p12 -clcerts -nokeys -out 439d.crt
Konwersja klucza prywatnego
Z zaszyfrowanego do niezaszyfrowanego
Konwersja przykładowego zaszyfrowanego klucza prywatnego RSA w formacie PEM zapisanego w pliku 439d-pem.key do niezaszyfrowanego klucza prywatnego w formacie PEM zapisanego w pliku 439d-plain-pem.key możliwa jest za pomocą polecenia
openssl rsa -in 439d-pem.key -out 439d-plain-pem.key
Uwagi:
- Treść klucza prywatnego powinna być znana jedynie jego właścicielowi. Przechowywanie klucza prywatnego w formacie niezaszyfrowanym pozwala na korzystanie z niego bez podawania hasła ale jest mniej bezpieczne (większe ryzyko kompromitacji tego klucza).
Z niezaszyfrowanego do zaszyfrowanego
Konwersja przykładowego niezaszyfrowanego klucza prywatnego RSA w formacie PEM zapisanego w pliku 439d-plain-pem.key do zaszyfrowanego algorytmem AES256 klucza prywatnego w formacie PEM zapisanego w pliku 439d-pem.key możliwa jest za pomocą polecenia
openssl rsa -aes256 -in 439d-plain-pem.key -out 439d-pem.key
Konwersja certyfikatu
Z PEM do DER
Konwersja przykładowego certyfikatu w formacie PEM zapisanego w pliku 439d-pem.crt do certyfikatu w formacie DER zapisanego w pliku 439d-der.crt możliwa jest za pomocą polecenia
openssl x509 -outform der -in 439d-pem.crt -out 439d-der.crt
Z DER do PEM
Konwersja przykładowego certyfikatu w formacie DER zapisanego w pliku 439d-der.crt do certyfikatu w formacie PEM zapisanego w pliku 439d-pem.crt możliwa jest za pomocą polecenia
openssl x509 -inform der -in 439d-der.crt -out 439d-pem.crt
Z PKCS #7/DER do PEM
Konwersja przykładowego certyfikatu w formacie PKCS #7/DER zapisanego w pliku 439d-der.p7b do certyfikatu w formacie PEM zapisanego w pliku 439d-pem.crt możliwa jest za pomocą polecenia
openssl pkcs7 -print_certs -inform der -in 439d-der.p7b -out 439d-pem.crt
Z PKCS #7/PEM do PEM
Konwersja przykładowego certyfikatu w formacie PKCS #7/PEM zapisanego w pliku 439d-pem.p7b do certyfikatu w formacie PEM zapisanego w pliku 439d-pem.crt możliwa jest za pomocą polecenia
openssl pkcs7 -print_certs -in 439d-pem.p7b -out 439d-pem.crt
Z PKCS #7/DER do PKCS #7/PEM
Konwersja przykładowego certyfikatu w formacie PKCS #7/DER zapisanego w pliku 439d-der.p7b do certyfikatu w formacie PKCS #7/PEM zapisanego w pliku 439d-pem.p7b możliwa jest za pomocą polecenia
openssl pkcs7 -inform der -in 439d-der.p7b -out 439d-pem.p7b
Zobacz też: