Generator certyfikatów SSL
Tożsamość
Certyfikat
Klucz prywatny (zachowaj w tajemnicy!)
Certyfikaty self-signed są domyślnie niezaufane przez przeglądarki: używaj ich tylko do lokalnego rozwoju, testów lub sieci prywatnych.
Wygeneruj samopodpisany certyfikat do lokalnego programowania lub testów wewnętrznych, bezpośrednio w przeglądarce. Wybierasz rozmiar klucza RSA (2048, 3072 lub 4096 bitów), Common Name, nazwy Subject Alternative Names, okno ważności oraz podstawowe dane organizacji. Certyfikat i jego klucz prywatny powstają w przeglądarce i nigdy nie są wysyłane na nasz serwer, a oba pobierasz jako pliki PEM gotowe dla Nginx lub Apache.
Jak działa generowanie certyfikatu
-
1
Wybierz rozmiar klucza RSA
2048 bitów wystarczy do większości testów; 3072 lub 4096 dają większy klucz kosztem szybkości.
-
2
Podaj podmiot i nazwy SAN
Common Name oraz każdą nazwę hosta lub adres IP, które certyfikat ma obejmować (nowoczesne przeglądarki ignorują CN na rzecz SAN).
-
3
Wygeneruj w przeglądarce
Samopodpisany certyfikat zostaje utworzony i podpisany odpowiadającym mu kluczem prywatnym, w całości lokalnie w przeglądarce.
-
4
Pobierz wynik
Certyfikat zakodowany w PEM (`cert.pem`) oraz klucz prywatny w PEM (`key.pem`), gotowe do zainstalowania.
Wszystko dzieje się w przeglądarce
Ten generator działa w całości w przeglądarce. Para kluczy RSA jest tworzona lokalnie za pomocą kryptograficznej biblioteki JavaScript, certyfikat jest podpisywany na Twoim urządzeniu, a ani klucz prywatny, ani certyfikat nie są nigdy przesyłane na nasz serwer. Mimo to traktuj klucz prywatny jak sekret: kto go ma, może podszyć się pod certyfikat.
Co oznacza samopodpisany
Jesteś zarazem wystawcą i podmiotem: certyfikat jest podpisany własnym kluczem prywatnym, więc żaden publiczny urząd certyfikacji (CA) za niego nie ręczy. Dlatego przeglądarki pokazują ostrzeżenie. Nadaje się do testów, lokalnego programowania (localhost, dev.local) i serwerów wewnętrznych, gdzie możesz rozprowadzić certyfikat do klientów, które mają mu ufać.
Jeśli potrzebujesz certyfikatu, któremu ufa publiczny internet, to narzędzie nie jest właściwym krokiem: potrzebujesz certyfikatu podpisanego przez CA (na przykład od Let’s Encrypt lub płatnego CA), co wymaga żądania podpisania certyfikatu (CSR) i weryfikacji domeny, której to narzędzie w przeglądarce nie wykonuje.
Co zawiera certyfikat
| Pole | Uwagi |
|---|---|
| Podmiot (CN, O, C) | Common Name, Organizacja, Kraj |
| Subject Alternative Names | Każda objęta domena lub adres IP (kluczowe!) |
| Klucz publiczny | RSA, wyprowadzony z wygenerowanego klucza prywatnego |
| Wystawca | Taki sam jak podmiot, bo samopodpisany |
| Ważność | Not Before / Not After (Twoje dni ważności) |
| Key Usage | digitalSignature, keyEncipherment |
| Extended Key Usage | serverAuth, clientAuth |
| Basic Constraints | CA:FALSE (certyfikat końcowy, nie CA) |
Pliki wynikowe
key.pem, klucz prywatny (chroń go, tryb 0600)cert.pem, samopodpisany certyfikat (publiczny, do rozpowszechniania)
Dla Nginx
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
}
Dla Apache 2.4+
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/private/key.pem
</VirtualHost>
Zaufanie certyfikatowi na własnych maszynach
Aby wyciszyć ostrzeżenie przeglądarki na maszynie, którą kontrolujesz, zaimportuj cert.pem do magazynu zaufania tego systemu lub przeglądarki. Rób to tylko dla certyfikatów wygenerowanych samodzielnie, na urządzeniach, które należą do Ciebie. Narzędzia takie jak mkcert automatyzują lokalny urząd CA dla wielu usług; ten generator tworzy pojedynczy samopodpisany certyfikat naraz.
Do czego samopodpisany się nie nadaje
- Publiczne strony WWW. Użytkownicy widzą ostrzeżenie i wielu odchodzi.
- Integracje z zewnętrznymi API. Większość klientów odrzuca nieznanych wystawców.
- Produkcja. Absolutnie nie. Do wszystkiego w otwartym internecie użyj Let’s Encrypt (bezpłatnie) lub płatnego CA.
Najczęściej zadawane pytania
Nie. Para kluczy i certyfikat są generowane w przeglądarce i pozostają na Twoim urządzeniu; nic nie jest wysyłane. Mimo to trzymaj pobrany plik key.pem w tajemnicy, ponieważ kto go ma, może podszyć się pod certyfikat.
Nie, jeśli będą się łączyć osoby trzecie. Przeglądarki pokazują wyraźne ostrzeżenie. Użyj certyfikatu podpisanego przez bezpłatny (Let’s Encrypt, ZeroSSL) lub płatny CA. Samopodpisany nadaje się do komunikacji maszyna-maszyna w sieci wewnętrznej, gdzie kontrolujesz oba końce.
Dawniej CN zawierał główną domenę. Nowoczesne przeglądarki ignorują CN przy weryfikacji hosta i używają tylko nazw SAN. Zawsze umieszczaj każdą nazwę hosta w SAN; CN ustaw na główną domenę tylko dla czytelnej identyfikacji.
Tak, wpisz *.example.com w nazwach SAN. Obejmuje jeden poziom poddomen. Dla wielu poziomów dodaj kilka znaków wieloznacznych (*.example.com i *.dev.example.com).
Powiązane narzędzia
Koder szyfru A1Z26
Koduj tekst szyfrem A1Z26 (A=1, B=2, ... Z=26) albo dekoduj sekwencję liczb z powrotem na litery, z własnym separatorem.
Koder i dekoder Base32
Koduj i dekoduj ciągi Base32 alfabetem RFC 4648. Przydatne dla sekretów TOTP, tokenów niewrażliwych na wielkość liter i identyfikatorów wpisywanych przez ludzi.
Koder szyfru Cezara
Szyfruj i odszyfrowuj tekst szyfrem Cezara. Dowolne przesunięcie 1-25, obsługa ROT13 jako przypadku specjalnego, zachowanie interpunkcji i wielkości liter.
Koder szyfru Atbash
Koduj lub dekoduj tekst szyfrem Atbash, hebrajskim podstawieniem mapującym A-Z na Z-A. Ta sama operacja szyfruje i odszyfrowuje.
Generator bcrypt
Wygeneruj hash bcrypt z hasła plaintext. Regulowany współczynnik kosztu od 4 do 13, zgodny z Laravel, Django, Node i PHP.
Generator hashy bcrypt
Generuj hashe bcrypt albo weryfikuj hasło plaintext względem istniejącego hasha bcrypt. Generowanie i weryfikacja obok siebie w jednym narzędziu.