Lokalny certyfikat SSL: samopodpisany dla localhost i IP
To narzędzie zamienia nazwy twojej lokalnej strony w certyfikat i klucz prywatny gotowe do serwera deweloperskiego. Wszystko dzieje się w przeglądarce: nic nie jest wysyłane ani zapisywane. Na końcu pobierasz server.crt i server.key w jednym pliku ZIP.
Lokalny certyfikat SSL dla localhost, domen i adresów IP
Każda wpisana nazwa trafia na listę Subject Alternative Name (SAN), którą sprawdzają współczesne przeglądarki. Nie musisz nic konfigurować ani wklejać.
Parę kluczy tworzy WebCrypto twojej przeglądarki, a certyfikat jest budowany i podpisywany na samej stronie.
Samopodpisany certyfikat SSL krok po kroku
- Sprawdź pole Domeny i adresy IP. Zaczyna się od
localhost, 127.0.0.1; zastąp je lub uzupełnij swoimi nazwami, na przykładlocalhost, 127.0.0.1, 192.168.1.5. - Jeśli chcesz, otwórz Ustawienia, aby zmienić Ważny przez (dni) lub Rozmiar klucza RSA.
- Kliknij Wygeneruj certyfikat. Po krótkim kroku Generowanie certyfikatu… pojawi się Certyfikat jest gotowy.
- Kliknij Pobierz ZIP. Plik
local-ssl-certificate.zipzawiera server.crt (certyfikat) i server.key (klucz prywatny). - Dodaj server.crt do magazynu zaufanych certyfikatów komputera przez Dodaj zaufanie na komputerze, a potem skonfiguruj serwer za pomocą obu plików.
- Aby zmienić nazwę lub ustawienie, kliknij Zmień nazwy lub ustawienia i wygeneruj certyfikat ponownie.
Co wpisać w polu domen i adresów IP
Rozdziel wpisy przecinkami, spacjami lub nowymi wierszami. Każdy jest sam rozpoznawany jako nazwa DNS albo adres IP:
- Nazwy hostów, np.
localhostlubdev.example.test - Symbole wieloznaczne, np.
*.example.test, które obejmują jeden poziom subdomeny - Adresy IPv4, np.
192.168.1.5, i IPv6, np.::1, z nawiasami kwadratowymi lub bez - Nazwy z polskimi znakami lub literami spoza alfabetu łacińskiego, które zostaną zamienione na punycode (postać xn--)
Jeden certyfikat może obejmować do 50 nazw. Wpisz samą nazwę hosta lub adres: wpis z https:// albo z numerem portu zostanie odrzucony, a komunikat o błędzie wskaże dokładnie, które wpisy były nieprawidłowe. Nazwa wpisana w pasku adresu musi być jedną z nazw w certyfikacie, inaczej przeglądarka nadal będzie ostrzegać.
Ustawienia: ważność i rozmiar klucza
Ważny przez przyjmuje od 1 do 397 dni i startuje od 365. Liczba spoza tego zakresu jest zmieniana na najbliższą granicę. Certyfikat obowiązuje od chwili wygenerowania, a Ważny do pokazuje w wyniku datę końca. Gdy wygaśnie, wygeneruj nowy.
Rozmiar klucza RSA to domyślnie 2048 bitów, co jest szybkie i akceptowane wszędzie. Wybierz 4096 bitów, jeśli chcesz większy klucz; jego utworzenie może potrwać kilka sekund.
Wynik pokazuje Obejmuje (wszystkie nazwy), Ważny do, Klucz i Odcisk SHA-256. Certyfikat to samopodpisany X.509 w wersji 3, podpisany własnym kluczem za pomocą SHA-256 z RSA. Nazwą pospolitą certyfikatu jest pierwszy wpisany element, ale przeglądarki czytają listę SAN. Numer seryjny jest losowy.
Zaufanie do certyfikatu w Windows, macOS i Linuksie
Przeglądarka ostrzega przed certyfikatem samopodpisanym, dopóki nie trafi on do magazynu zaufanych certyfikatów. Rozpakuj ZIP, otwórz terminal w tym folderze i uruchom polecenie dla swojego systemu. Każde jest też pokazane do skopiowania pod Dodaj zaufanie na komputerze.
- macOS:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt - Windows (PowerShell jako administrator):
Import-Certificate -FilePath .\server.crt -CertStoreLocation Cert:\LocalMachine\Root - Debian i Ubuntu:
sudo cp server.crt /usr/local/share/ca-certificates/server.crt, a potemsudo update-ca-certificates - Fedora i RHEL:
sudo cp server.crt /etc/pki/ca-trust/source/anchors/, a potemsudo update-ca-trust
Firefox ma własną listę, podobnie jak Chrome w Linuksie. Zaimportuj tam server.crt w Ustawieniach, w sekcji Certyfikaty, Urzędy certyfikacji. Niektóre narzędzia programistyczne też mają własną listę: wskaż im server.crt w ich ustawieniach. Po dodaniu zaufania uruchom przeglądarkę ponownie.
Certyfikat na serwerze i ochrona klucza
W ustawieniu certyfikatu serwera WWW wskaż server.crt, a w ustawieniu klucza prywatnego server.key, po czym uruchom serwer ponownie. W nginx to ssl_certificate i ssl_certificate_key, w Apache SSLCertificateFile i SSLCertificateKeyFile. Potem otwórz stronę pod jedną z nazw z certyfikatu, z https:// z przodu.
Nie udostępniaj server.key: każdy, kto go ma, może podszyć się pod lokalną stronę. Nie wrzucaj go do publicznego repozytorium. Narzędzie służy tylko do lokalnego programowania; nigdy nie umieszczaj certyfikatu samopodpisanego na publicznej stronie.
Najczęstsze pytania
Jak wygenerować certyfikat dla localhost?
Zostaw localhost, 127.0.0.1 w polu „Domeny i adresy IP”, kliknij „Wygeneruj certyfikat”, a potem „Pobierz ZIP”. Dostaniesz server.crt i server.key. Wskaż te dwa pliki lokalnemu serwerowi WWW i dodaj server.crt do magazynu zaufanych certyfikatów komputera, żeby przeglądarka przestała ostrzegać.
Czy mogę wygenerować certyfikat dla adresu IP?
Tak. Wpisz adres w polu „Domeny i adresy IP”, na przykład 192.168.1.5. Działają IPv4 i IPv6, także zapis w nawiasach [::1]. Każdy adres IP trafia do certyfikatu jako wpis adresu IP, a właśnie to sprawdza przeglądarka po otwarciu https://192.168.1.5. Wpisz sam adres, bez https:// i bez portu.
Czy mogę utworzyć samopodpisany certyfikat wildcard?
Tak. Wpisz symbol wieloznaczny, np. *.example.test, a zostanie dodany jako nazwa DNS. Obejmuje on jeden poziom: *.example.test pasuje do app.example.test, ale nie do samego example.test ani do a.b.example.test. Jeśli to potrzebne, dodaj example.test osobno.
Czy do tego potrzebny jest OpenSSL?
Nie. Parę kluczy tworzy wbudowany WebCrypto przeglądarki, a certyfikat jest budowany i podpisywany na stronie, więc nie uruchamiasz żadnego polecenia i niczego nie instalujesz. OpenSSL przydaje się tylko, gdy chcesz potem zamienić pliki na inny format.
Jak dodać zaufanie do certyfikatu w Windows?
Otwórz PowerShell jako administrator, przejdź do folderu z rozpakowanymi plikami i uruchom Import-Certificate -FilePath .\server.crt -CertStoreLocation Cert:\LocalMachine\Root. To kopiuje certyfikat do magazynu zaufanych głównych urzędów certyfikacji, który czytają Chrome i Edge.
Jak dodać zaufanie do certyfikatu na Macu, w Ubuntu i w Firefoksie?
Na Macu uruchom w folderze z server.crt: sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt. W Debianie i Ubuntu skopiuj plik do /usr/local/share/ca-certificates/ i uruchom sudo update-ca-certificates. Firefox nie korzysta z magazynu systemu: zaimportuj server.crt w jego ustawieniach, w sekcji Certyfikaty i Urzędy certyfikacji.
Czy dostanę plik PFX, CSR albo certyfikat Let's Encrypt?
Nie. To narzędzie tworzy jeden samopodpisany certyfikat w formacie PEM: server.crt i server.key. Nie tworzy żądania podpisania certyfikatu (CSR), certyfikatu podpisanego przez urząd certyfikacji ani publicznego, ani osobnego głównego urzędu certyfikacji. Jeśli potrzebujesz PFX, polecenie pkcs12 z OpenSSL zbuduje go z tych dwóch plików.
Polecane
-
Obrotowy stojak na tablet Lamicall 360°Postaw telefon lub tablet, na którym otwierasz https://192.168.x.x podczas testów.
-
Szyfrowany pendrive Kingston IronKey Vault Privacy 50Sprzętowo szyfrowany pendrive, by server.key nie leżał jawnie na dysku laptopa.
-
Kamera do streamowania EMEET S600 4KTesty kamery wymagają HTTPS, więc sprawdź to naprawdę, z dobrą kamerą 4K.
Pomaga utrzymać narzędzia za darmo. ✨
Zdjęcia poglądowe. Jestem Partnerem Amazon i otrzymuję wynagrodzenie z tytułu określonych zakupów dokonywanych za moim pośrednictwem.