Konwersja formatu klucza prywatnego i certyfikatu: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
Poniższa strona zawiera przykładowe polecenia do konwersji klucza prywatnego i certyfikatu między różnymi formatami, przy wykorzystaniu oprogramowania [https://www.openssl.org/community/binaries.html OpenSSL]. Konwersja może być potrzebna w celu dostosowania formatu do indywidualnych wymagań określonego oprogramowania klienckiego. | Poniższa strona zawiera przykładowe polecenia do konwersji klucza prywatnego i certyfikatu między różnymi formatami, przy wykorzystaniu oprogramowania [https://www.openssl.org/community/binaries.html 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 [https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] zapisanego w pliku <tt>439d.key</tt> oraz certyfikatu w formacie [https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] zapisanego w pliku <tt>439d.crt</tt> do archiwum [https://en.wikipedia.org/wiki/PKCS_12 PKCS #12] zapisanego w pliku <tt>439d.p12</tt> z nadaniem przykładowej przyjaznej nazwy '439d@demo.cybo.pl' możliwa jest za pomocą polecenia | |||
<pre>openssl pkcs12 -export -inkey 439d.key -in 439d.crt -out 439d.p12 -name "439d@demo.cybo.pl" | |||
</pre> | |||
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 <tt>439d.key</tt> jest zaszyfrowany, po uruchomieniu powyższego polecenia konieczne będzie podanie hasła do niego. | |||
* Przed zakończeniem generowania archiwum <tt>439d.p12</tt> 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 [https://en.wikipedia.org/wiki/PKCS_12 PKCS #12] (<tt>439d@demo.cybo.pl</tt> 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 [https://en.wikipedia.org/wiki/PKCS_12 PKCS #12] zapisanego w pliku <tt>439d.p12</tt> do pliku <tt>439d.key</tt> w formacie [https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] możliwy jest za pomocą polecenia | |||
<pre>openssl pkcs12 -in 439d.p12 -nocerts -out 439d.key | |||
</pre> | |||
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 [https://en.wikipedia.org/wiki/PKCS_12 PKCS #12] zapisanego w pliku <tt>439d.p12</tt> do pliku <tt>439d.crt</tt> w formacie [https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] możliwy jest za pomocą polecenia | |||
<pre>openssl pkcs12 -in 439d.p12 -clcerts -nokeys -out 439d.crt | |||
</pre> | |||
= Konwersja klucza prywatnego = | = Konwersja klucza prywatnego = | ||
== Z zaszyfrowanego do niezaszyfrowanego == | |||
Konwersja przykładowego zaszyfrowanego klucza prywatnego [https://pl.wikipedia.org/wiki/RSA_(kryptografia) RSA] w formacie [https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] zapisanego w pliku <tt>439d-pem.key</tt> do niezaszyfrowanego klucza prywatnego w formacie [https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] zapisanego w pliku <tt>439d-plain-pem.key</tt> możliwa jest za pomocą polecenia | |||
<pre>openssl rsa -in 439d-pem.key -out 439d-plain-pem.key | |||
</pre> | |||
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 [https://pl.wikipedia.org/wiki/RSA_(kryptografia) RSA] w formacie [https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] zapisanego w pliku <tt>439d-plain-pem.key</tt> do zaszyfrowanego algorytmem AES256 klucza prywatnego w formacie [https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] zapisanego w pliku <tt>439d-pem.key</tt> możliwa jest za pomocą polecenia | |||
<pre>openssl rsa -aes256 -in 439d-plain-pem.key -out 439d-pem.key | |||
</pre> | |||
= Konwersja certyfikatu = | = Konwersja certyfikatu = | ||
Linia 19: | Linia 63: | ||
</pre> | </pre> | ||
== Z | == Z PKCS #7/DER do PEM == | ||
Konwersja przykładowego certyfikatu w formacie [https://en.wikipedia.org/wiki/PKCS_7 | Konwersja przykładowego certyfikatu w formacie [https://en.wikipedia.org/wiki/PKCS_7 PKCS #7]/[https://en.wikipedia.org/wiki/Distinguished_Encoding_Rules DER] zapisanego w pliku <tt>439d-der.p7b</tt> do certyfikatu w formacie [https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] zapisanego w pliku <tt>439d-pem.crt</tt> możliwa jest za pomocą polecenia | ||
<pre>openssl pkcs7 -print_certs -inform der -in 439d-der.p7b -out 439d-pem.crt | <pre>openssl pkcs7 -print_certs -inform der -in 439d-der.p7b -out 439d-pem.crt | ||
</pre> | </pre> | ||
== Z | == Z PKCS #7/PEM do PEM == | ||
Konwersja przykładowego certyfikatu w formacie [https://en.wikipedia.org/wiki/PKCS_7 | Konwersja przykładowego certyfikatu w formacie [https://en.wikipedia.org/wiki/PKCS_7 PKCS #7]/[https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] zapisanego w pliku <tt>439d-pem.p7b</tt> do certyfikatu w formacie [https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] zapisanego w pliku <tt>439d-pem.crt</tt> możliwa jest za pomocą polecenia | ||
<pre>openssl pkcs7 -print_certs -in 439d-pem.p7b -out 439d-pem.crt | <pre>openssl pkcs7 -print_certs -in 439d-pem.p7b -out 439d-pem.crt | ||
</pre> | </pre> | ||
== Z | == Z PKCS #7/DER do PKCS #7/PEM == | ||
Konwersja przykładowego certyfikatu w formacie [https://en.wikipedia.org/wiki/PKCS_7 | Konwersja przykładowego certyfikatu w formacie [https://en.wikipedia.org/wiki/PKCS_7 PKCS #7]/[https://en.wikipedia.org/wiki/Distinguished_Encoding_Rules DER] zapisanego w pliku <tt>439d-der.p7b</tt> do certyfikatu w formacie [https://en.wikipedia.org/wiki/PKCS_7 PKCS #7]/[https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail PEM] zapisanego w pliku <tt>439d-pem.p7b</tt> możliwa jest za pomocą polecenia | ||
<pre>openssl pkcs7 -inform der -in 439d-der.p7b -out 439d-pem.p7b | <pre>openssl pkcs7 -inform der -in 439d-der.p7b -out 439d-pem.p7b | ||
</pre> | </pre> |
Wersja z 18:14, 19 lis 2023
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ż: