Generator certyfikatów SSL

Tożsamość

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. 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. 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. 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. 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