Co to jest samopodpisany certyfikat SSL?
Samopodpisany certyfikat SSL to certyfikat podpisany przez osobę, która go utworzyła, a nie przez zaufany urząd certyfikacji. Certyfikaty z podpisem własnym mogą mieć ten sam poziom szyfrowania, co zaufany certyfikat SSL podpisany przez urząd certyfikacji.
Przeglądarki internetowe nie rozpoznają certyfikatów z podpisem własnym jako ważnych. W przypadku korzystania z certyfikatu z podpisem własnym przeglądarka internetowa wyświetla użytkownikowi ostrzeżenie, że nie można zweryfikować certyfikatu witryny sieci Web.
Zazwyczaj certyfikaty z podpisem własnym są używane do celów testowych lub do użytku wewnętrznego. Nie należy używać certyfikatu z podpisem własnym w systemach produkcyjnych, które są dostępne w Internecie.
Warunki wstępne
Zestaw narzędzi OpenSSL jest wymagany do wygenerowania certyfikatu z podpisem własnym.
Aby sprawdzić, czy pakiet openssl jest zainstalowany w systemie Linux, otwórz terminal, wpisz openssl version i naciśnij Enter. Jeśli pakiet jest zainstalowany, system wydrukuje wersję OpenSSL, w przeciwnym razie zobaczysz coś w rodzaju nie znaleziono polecenia openssl.
Jeśli pakiet openssl nie jest zainstalowany w twoim systemie, możesz go zainstalować za pomocą menedżera pakietów twojej dystrybucji:
Ubuntu i Debian:
sudo apt install openssl
Centos i Fedora
sudo yum install openssl
Tworzenie certyfikatu SSL z podpisem własnym
Aby utworzyć nowy samopodpisany certyfikat SSL, użyj polecenia openssl req:
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-nodes \
-out example.crt \
-keyout example.key
Certyfikat i klucz prywatny zostaną utworzone w określonej lokalizacji. Użyj polecenia ls, aby sprawdzić, czy pliki zostały utworzone:
ls
Output
example.crt example.key
Otóż to! Wygenerowałeś nowy certyfikat SSL z podpisem własnym.
Zawsze dobrze jest wykonać kopię zapasową nowego certyfikatu i klucza do pamięci zewnętrznej.
Tworzenie certyfikatu SSL z podpisem własnym bez monitu
Jeśli chcesz wygenerować samopodpisany certyfikat SSL bez pytania o jakiekolwiek pytanie, użyj opcji -subj i podaj wszystkie informacje o temacie:
openssl req -newkey rsa:4096 \
-x509 \
-sha256 \
-days 3650 \
-nodes \
-out example.crt \
-keyout example.key \
-subj "/C=PL/ST=Warsaw/L=Warsaw/O=Nazwa/OU=Dział IT/CN=www.111.111.111.111.com"
C= – Nazwa kraju. Dwuliterowy skrót ISO.
ST= – nazwa stanu lub prowincji.
L= – Nazwa miejscowości. Nazwa miasta, w którym się znajdujesz.
O= – pełna nazwa Twojej organizacji.
OU= – Jednostka organizacyjna.
CN= — w pełni kwalifikowana nazwa domeny.