Czy ktoś może mi powiedzieć właściwy sposób / polecenie, aby wyodrębnić / przekonwertować pliki certyfikatu .crt
i klucza prywatnego .key
z .pem
pliku? Właśnie przeczytałem, że są one wymienne, ale nie w jaki sposób.
ssl
certificate
private-key
Lanbo
źródło
źródło
Odpowiedzi:
Byłem w stanie przekonwertować pem na crt za pomocą tego:
źródło
openssl pkey -in mumble.pem -out mumble-key.pem
Jeśli wersja OpenSSL jest starsza niż 1.0.0, wyodrębnij klucz jako klucz RSA:openssl rsa -in mumble.pem -out mumble-key.pem
unable to load certificate 140584440387400:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
Expecting: ANY PRIVATE KEY
błąd.Konwersja za pomocą OpenSSL
Te polecenia pozwalają konwertować certyfikaty i klucze na różne formaty, aby były zgodne z określonymi typami serwerów lub oprogramowania.
Konwertuj plik DER (.crt .cer .der) do PEM
Konwertuj plik PEM do DER
Konwertuj plik PKCS # 12 (.pfx .p12) zawierający klucz prywatny i certyfikaty do PEM
Konwertuj plik certyfikatu PEM i klucz prywatny na PKCS # 12 (.pfx .p12)
Konwertuj PEM na CRT (plik .CRT)
OpenSSL Convert PEM
Konwertuj PEM na DER
Konwertuj PEM na P7B
Konwertuj PEM na PFX
OpenSSL Convert DER
Konwertuj DER na PEM
Konwerter OpenSSL P7B
Konwertuj P7B na PEM
Konwertuj P7B na PFX
OpenSSL Convert PFX
Konwertuj PFX na PEM
Wygeneruj klucze rsa przez OpenSSL
Używając OpenSSL w wierszu poleceń, który musisz najpierw wygenerować klucz publiczny i prywatny, powinieneś zabezpieczyć ten plik hasłem za pomocą argumentu -passout, istnieje wiele różnych form, które ten argument może przyjąć, więc zapoznaj się z dokumentacją OpenSSL na ten temat.
Spowoduje to utworzenie pliku klucza o nazwie private.pem, który używa 1024 bitów. Ten plik faktycznie ma zarówno klucze prywatny, jak i publiczny, dlatego należy wyodrębnić publiczny z tego pliku:
Przykładowy plik:
Masz teraz trochę danych w pliku.txt, pozwalamy je zaszyfrować za pomocą OpenSSL i klucza publicznego:
Tworzy to zaszyfrowaną wersję file.txt nazywającą go file.ssl, jeśli spojrzysz na ten plik, to tylko binarne śmieci, nic bardzo przydatnego dla nikogo. Teraz możesz go odszyfrować za pomocą klucza prywatnego:
Będziesz teraz mieć niezaszyfrowany plik w decrypted.txt:
Opcje NARZĘDZI RSA w OpenSSL
IMIĘ
STRESZCZENIE
OPIS
OPCJE POLECENIA
UWAGI
Format klucza prywatnego PEM wykorzystuje linie nagłówka i stopki:
Format klucza publicznego PEM wykorzystuje linie nagłówka i stopki:
Format PEM RSAPublicKey wykorzystuje linie nagłówka i stopki:
PRZYKŁADY
Aby usunąć hasło z klucza prywatnego RSA:
Aby zaszyfrować klucz prywatny przy użyciu potrójnego DES:
Aby przekonwertować klucz prywatny z formatu PEM na format DER:
Aby wydrukować składniki klucza prywatnego na standardowe wyjście:
Aby wydrukować tylko część publiczną klucza prywatnego:
Wyjście publicznej części klucza prywatnego w formacie RSAPublicKey:
źródło
Aby wyodrębnić klucz i certyfikat z pliku pem:
Wyodrębnij klucz
Inna metoda wyodrębnienia klucza ...
Wyodrębnij wszystkie certyfikaty, w tym Łańcuch CA
Wyodrębnij tekstowo pierwszy certyfikat jako DER
źródło
0. Warunek :
openssl
powinien zostać zainstalowany. W systemie Windows, jeśliGit Bash
jest zainstalowany, spróbuj tego! Alternatywne pliki binarne można znaleźć tutaj.1. Wyciąg
.key
z.pem
:2. Wyciąg
.crt
z.pem
:źródło
.Crt przechowuje certyfikat .. w formacie pem. Tak więc .pem, chociaż może mieć także inne rzeczy, takie jak csr (żądanie podpisania certyfikatu), klucz prywatny, klucz publiczny lub inne certyfikaty, gdy przechowuje tylko certyfikat, jest tym samym, co .crt.
Pem to plik zakodowany w formacie 64 z nagłówkiem i stopką między każdą sekcją.
Aby wyodrębnić konkretną sekcję, skrypt perla, taki jak poniżej, jest całkowicie poprawny, ale możesz swobodnie korzystać z niektórych poleceń openssl.
gdzie == 1 można zmienić na potrzebną sekcję. Oczywiście, jeśli dokładnie znasz wymagany nagłówek i stopkę, a w pliku znajduje się tylko jeden z nich (zwykle tak jest, jeśli przechowujesz tylko certyfikat i klucz), możesz go uprościć:
źródło
Jeśli zadałeś to pytanie, ponieważ używasz,
mkcert
sztuczka polega na tym, że.pem
plik to cert i-key.pem
plik jest kluczem.(Nie musisz konwertować, po prostu uruchom
mkcert yourdomain.dev otherdomain.dev
)źródło