Konwersja formatu klucza prywatnego i certyfikatu

Z Baza Wiedzy cybo.pl
Operator nie ponosi odpowiedzialności za obszar kliencki (m.in. sprzęt, oprogramowanie i klucze prywatne użytkowników Abonenta). Publikowane przez Operatora informacje dotyczące obszaru klienckiego mają charakter pomocniczy a Abonent może korzystać z nich na własne ryzyko.

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, Chrome, 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.
  • W przypadku korzystania z openssl w wersji 3 lub nowszej (wersję openssl można sprawdzić za pomocą polecenia openssl version), w pliku 439d.p12 użyte zostaną nowsze (bezpieczeniejsze) algorytmy kryptograficzne niż w przypadku gdy do generowania używana jest starsza wersja openssl. Nowsze algorytmy kryptograficzne mogą jednak nie być obsługiwane przez starsze oprogramowanie (częsty objaw to odrzucanie hasła do takiego pliku); w takim przypadku zalecane jest używanie aktualnych wersji oprogramowania, które będzie obsługiwać nowsze algorytmy kryptograficzne; jeśli jednak niezbędne będzie utworzenie w openssl w wersji 3 lub nowszej pliku 439d.p12 w formacie zgodnym ze starszym oprogramowaniem (przestarzałe algorytmy kryptograficzne), wtedy do parametrów powyższego polecenia można dodać parametr -legacy

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


Uwagi:

  • W przypadku korzystania przez użytkownika abonenta z OpenSSL do generowania kluczy, CSR lub konwersji certyfikatów, w celu ułatwienia użytkownikowi wykonywania tych operacji bez uruchamiania linii poleceń, administratorzy abonenta mogą rozważyć przygotowanie dostosowanych do systemu operacyjnego użytkownika, uruchamianych ikonami skryptów z predefiniowanymi parametrami dostosowanymi do tego użytkownika; np. osobnego skryptu do generowania klucza prywatnego i CSR do ustalonych plików oraz osobnego skryptu do konwersji pliku z certyfikatem w formacie PEM do pliku w formacie wymaganym przez oprogramowanie użytkownika.

Zobacz też: