Jak utworzyć samopodpisany certyfikat za pomocą OpenSSL

Jak utworzyć samopodpisany certyfikat za pomocą OpenSSL
Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Certyfikaty SSL/TLS są niezbędne do zabezpieczenia aplikacji internetowej lub serwera. Chociaż kilka niezawodnych urzędów certyfikacji udostępnia certyfikaty SSL/TLS za opłatą, możliwe jest również wygenerowanie certyfikatu z podpisem własnym za pomocą OpenSSL. Nawet jeśli certyfikaty z podpisem własnym nie mają poparcia zaufanego organu, nadal mogą szyfrować ruch internetowy. Jak więc możesz użyć OpenSSL do wygenerowania samopodpisanego certyfikatu dla swojej witryny lub serwera?





WYKORZYSTAJ WIDEO DNIA PRZEWIŃ, ABY KONTYNUOWAĆ TREŚĆ

Jak zainstalować OpenSSL

OpenSSL to oprogramowanie typu open source. Ale jeśli nie masz doświadczenia w programowaniu i martwisz się procesami kompilacji, ma trochę konfiguracji technicznej. Aby tego uniknąć, możesz pobrać najnowszą wersję kodu OpenSSL, w pełni skompilowaną i gotową do instalacji, z strona slproweb .





Tutaj wybierz rozszerzenie MSI najnowszej wersji OpenSSL odpowiednie dla twojego systemu.





  Zrzut ekranu ze strony slproweb do pobrania OpenSSL

Jako przykład rozważ OpenSSL pod adresem D:\OpenSSL-Win64 . Możesz to zmienić. Jeśli instalacja jest zakończona, otwórz PowerShell jako administrator i przejdź do podfolderu o nazwie kosz w folderze, w którym zainstalowałeś OpenSSL. Aby to zrobić, użyj następującego polecenia:

 cd 'D:\OpenSSL-Win64\bin' 

Masz teraz dostęp do openssl.exe i możesz go uruchomić, jak chcesz.



  Uruchamianie polecenia wersji, aby sprawdzić, czy jest zainstalowany openssl

Wygeneruj swój klucz prywatny za pomocą OpenSSL

Będziesz potrzebować klucza prywatnego, aby utworzyć certyfikat z podpisem własnym. W tym samym folderze bin możesz utworzyć ten klucz prywatny, wprowadzając następujące polecenie w PowerShell po otwarciu jako administrator.

jak dodać linię słowem?
 openssl.exe genrsa -des3 -out myPrivateKey.key 2048 

To polecenie wygeneruje za pośrednictwem OpenSSL klucz prywatny RSA o długości 2048 bitów, zaszyfrowany metodą 3DES. OpenSSL poprosi o podanie hasła. Powinieneś użyć A silne i niezapomniane hasło . Po dwukrotnym wprowadzeniu tego samego hasła pomyślnie wygenerowałeś swój klucz prywatny RSA.





  Dane wyjściowe polecenia użytego do wygenerowania klucza RSA

Możesz znaleźć swój prywatny klucz RSA z nazwą mójKluczPrywatny.klucz .

Jak utworzyć plik CSR za pomocą OpenSSL

Sam utworzony klucz prywatny nie wystarczy. Ponadto potrzebny jest plik CSR, aby utworzyć certyfikat z podpisem własnym. Aby utworzyć ten plik CSR, musisz wprowadzić nowe polecenie w PowerShell:





 openssl.exe req -new -key myPrivateKey.key -out myCertRequest.csr 

OpenSSL poprosi również o hasło, które wprowadziłeś, aby wygenerować tutaj klucz prywatny. Ponadto poprosi o podanie danych prawnych i osobowych. Uważaj, aby wprowadzić te informacje poprawnie.

  Dane wyjściowe polecenia użytego do wygenerowania pliku CSR

Ponadto możliwe jest wykonanie wszystkich dotychczasowych operacji za pomocą jednej linii poleceń. Jeśli użyjesz poniższego polecenia, możesz jednocześnie wygenerować zarówno swój prywatny klucz RSA, jak i plik CSR:

 openssl.exe req -new -newkey rsa:2048 -nodes -keyout myPrivateKey2.key -out myCertRequest2.csr 
  Dane wyjściowe polecenia używanego do tworzenia plików RSA i CSR za jednym razem

Teraz będziesz mógł zobaczyć plik o nazwie myCertRequest.csr w odpowiednim katalogu. Ten plik CSR, który tworzysz, zawiera informacje o:

  • Instytucja ubiegająca się o certyfikat.
  • Nazwa zwyczajowa (tj. nazwa domeny).
  • Klucz publiczny (do celów szyfrowania).

Tworzone pliki CSR muszą zostać przejrzane i zatwierdzone przez określone władze. W tym celu należy przesłać plik CSR bezpośrednio do urzędu certyfikacji lub innych instytucji pośredniczących.

Organy te i domy maklerskie sprawdzają, czy podane przez Ciebie informacje są prawidłowe, w zależności od tego, jakiego rodzaju certyfikat chcesz uzyskać. Może być również konieczne wysłanie niektórych dokumentów w trybie offline (faks, poczta itp.), aby udowodnić, czy informacje są prawidłowe.

fajne rzeczy do zrobienia z projektorem

Przygotowanie Certyfikatu przez Urząd Certyfikacji

Gdy wysyłasz utworzony plik CSR do ważnego urzędu certyfikacji, urząd certyfikacji podpisuje plik i wysyła certyfikat do instytucji lub osoby żądającej. W ten sposób urząd certyfikacji (znany również jako CA) tworzy również plik PEM z plików CSR i RSA. Plik PEM jest ostatnim plikiem wymaganym dla certyfikatu z podpisem własnym. Te etapy to zapewniają Certyfikaty SSL pozostają uporządkowane, niezawodne i bezpieczne .

Możesz także samodzielnie utworzyć plik PEM za pomocą OpenSSL. Może to jednak stanowić potencjalne zagrożenie dla bezpieczeństwa Twojego certyfikatu, ponieważ jego autentyczność lub ważność nie jest jasna. Ponadto fakt, że certyfikatu nie można zweryfikować, może spowodować, że nie będzie on działał w niektórych aplikacjach i środowiskach. Tak więc w tym przykładzie samopodpisanego certyfikatu możemy użyć fałszywego pliku PEM, ale oczywiście nie jest to możliwe w rzeczywistym użyciu.

Na razie wyobraź sobie plik PEM o nazwie myPemKey.pem pochodzi z oficjalnego urzędu certyfikacji. Możesz użyć następującego polecenia, aby utworzyć dla siebie plik PEM:

 openssl x509 -req -sha256 -days 365 -in myCertRequest.csr -signkey myPrivateKey.key -out myPemKey.pem 

Jeśli masz taki plik, polecenie, którego powinieneś użyć dla swojego samopodpisanego certyfikatu, brzmiałoby:

 openssl.exe x509 -req -days 365 -in myCertRequest.csr -signkey myPemKey.pem -out mySelfSignedCert.cer 

To polecenie oznacza, że ​​plik CSR jest podpisany kluczem prywatnym o nazwie myPemKey.pem , ważne przez 365 dni. W rezultacie tworzony jest plik certyfikatu o nazwie mySelfSignedCert.cer .

  Obraz, że certyfikat z podpisem własnym istnieje w folderze

Informacje o certyfikacie z podpisem własnym

Możesz użyć następującego polecenia, aby sprawdzić informacje na temat utworzonego przez siebie certyfikatu z podpisem własnym:

 openssl.exe x509 -noout -text -in mySelfSignedCert.cer 

Spowoduje to wyświetlenie wszystkich informacji zawartych w certyfikacie. Można zobaczyć wiele informacji, takich jak dane firmy lub dane osobowe oraz algorytmy użyte w certyfikacie.

Co zrobić, jeśli certyfikaty z podpisem własnym nie są podpisywane przez urząd certyfikacji?

Istotne jest, aby skontrolować tworzone przez siebie certyfikaty z podpisem własnym i potwierdzić, że są one bezpieczne. Zwykle robi to zewnętrzny dostawca certyfikatów (tj. CA). Jeśli nie masz certyfikatu podpisanego i zatwierdzonego przez zewnętrzny urząd certyfikacji i używasz tego niezatwierdzonego certyfikatu, napotkasz pewne problemy z bezpieczeństwem.

Hakerzy mogą na przykład użyć Twojego samopodpisanego certyfikatu do stworzenia fałszywej kopii strony internetowej. Pozwala to atakującemu na kradzież informacji o użytkownikach. Mogą również uzyskać dostęp do nazw użytkowników, haseł lub innych poufnych informacji.

Aby zapewnić bezpieczeństwo użytkowników, strony internetowe i inne usługi zwykle muszą korzystać z certyfikatów, które są faktycznie certyfikowane przez urząd certyfikacji. Daje to pewność, że dane użytkownika są zaszyfrowane i łączą się z właściwym serwerem.

Tworzenie samopodpisanych certyfikatów w systemie Windows

Jak widać, utworzenie samopodpisanego certyfikatu w systemie Windows za pomocą OpenSSL jest dość proste. Należy jednak pamiętać, że potrzebne będzie również zatwierdzenie przez urzędy certyfikacji.

Niemniej jednak wystawienie takiego certyfikatu pokazuje, że poważnie traktujesz bezpieczeństwo użytkowników, co oznacza, że ​​będą bardziej ufać Tobie, Twojej witrynie i Twojej marce.