Wydawanie certyfikatu SSL to wieloetapowy proces zależny od typu certyfikatu i poziomu weryfikacji. Dokładne zrozumienie kolejnych kroków pozwala uniknąć opóźnień, błędów i przerw w dostępności usług.

Faza wstępna – wybór i rejestracja certyfikatu SSL

Na początku należy określić potrzeby: czy zabezpieczenia wymaga jedna domena, wiele domen, czy cała pula subdomen. Wybór typu oraz zakresu certyfikatu wpływa na cenę, czas weryfikacji i późniejsze utrzymanie.

Najważniejsze typy certyfikatów według poziomu weryfikacji to:

  • Domain Validation (DV) – podstawowa weryfikacja kontroli nad domeną, najszybsze wydanie i najniższy koszt;
  • Organization Validation (OV) – weryfikacja domeny oraz istnienia i wiarygodności organizacji, wyższy poziom zaufania;
  • Extended Validation (EV) – najbardziej rygorystyczna weryfikacja prawna i operacyjna organizacji, najwyższy poziom zaufania.

Zakres ochrony domeny można określić następująco:

  • pojedyncza domena – zabezpiecza jeden FQDN (np. domena.pl lub www.domena.pl);
  • Wildcard – zabezpiecza domenę główną i wszystkie jej subdomeny (np. *.domena.pl);
  • Multidomain (SAN/UCC) – pozwala chronić wiele niezależnych domen w jednym certyfikacie.

Po wyborze typu i zakresu następuje rejestracja u wybranego dostawcy, wskazanie okresu ważności i opłacenie zamówienia. Nazwa domeny musi być podana bezbłędnie – literówki zwykle wymuszają ponowne zamówienie.

Płatność i aktywacja certyfikatu w panelu klienta

Po przetworzeniu płatności otrzymasz dostęp do panelu aktywacji. Na tym etapie zdefiniuj kluczowe dane:

  • dokładną domenę lub domeny do zabezpieczenia,
  • pełną listę SAN dla certyfikatu Multidomain (dodawanie po wydaniu nie jest możliwe),
  • adres e‑mail administratora, na który będą trafiać linki i komunikaty weryfikacyjne.

Dla certyfikatów Wildcard wystarczy wskazać domenę główną (np. domena.pl), a dla Multidomain wymienić wszystkie domeny objęte ochroną.

Wygenerowanie żądania podpisania certyfikatu (CSR)

CSR (Certificate Signing Request) zawiera dane domeny/organizacji oraz klucz publiczny. Wraz z CSR generujesz parę kluczy: prywatny (pozostaje u Ciebie) i publiczny (trafia do certyfikatu). Klucz prywatny musi pozostać tajny – jego wyciek całkowicie kompromituje bezpieczeństwo.

Typowe pola w CSR i ich znaczenie:

  • Country Name (C) – dwuliterowy kod kraju (np. PL);
  • State or Province Name (ST) – województwo/region siedziby;
  • Locality Name (L) – miejscowość siedziby;
  • Organization Name (O) – pełna nazwa organizacji dokładnie jak w KRS/REGON;
  • Organizational Unit Name (OU) – opcjonalny dział w organizacji;
  • Common Name (CN) – pełna nazwa domeny (np. www.domena.pl lub *.domena.pl dla Wildcard);
  • Email Address – pole opcjonalne, zwykle pozostaw puste;
  • A challenge password / An optional company name – pomiń, zatwierdzając Enter.

Minimalna długość klucza to 2048 bitów. CSR ma postać tekstu ASCII między znacznikami „BEGIN/END CERTIFICATE REQUEST”. Wklej zawartość CSR w panelu dostawcy, zachowując klucz prywatny wyłącznie na swoim serwerze.

Przykładowe polecenia OpenSSL do wygenerowania klucza i CSR:

openssl genrsa -out domena.pl.key 2048
openssl req -new -key domena.pl.key -out domena.pl.csr

Procedury weryfikacji w zależności od typu certyfikatu

Zakres i czas weryfikacji zależą od typu certyfikatu. Celem jest potwierdzenie prawa do domeny i (dla OV/EV) wiarygodności organizacji.

Weryfikacja dla certyfikatów Domain Validation (DV)

Wysyłany jest link weryfikacyjny na adres administratora (np. [email protected]). Kliknięcie linku potwierdza kontrolę nad domeną. Czas wydania DV zwykle nie przekracza 24 godzin od potwierdzenia.

Weryfikacja dla certyfikatów Organization Validation (OV)

Po potwierdzeniu domeny urząd sprawdza istnienie i status prawny organizacji (KRS/REGON, publiczne bazy). Zwykle wymagane dokumenty to m.in.:

  • aktualny odpis/wyciąg z KRS lub wpis do CEIDG,
  • zaświadczenie REGON lub inny rejestr potwierdzający działalność,
  • pełnomocnictwo lub potwierdzenie zatrudnienia, jeśli wnioskodawca nie figuruje w rejestrach.

Wydanie OV trwa zwykle 1–5 dni roboczych (czas zależy od kompletności dokumentów i reakcji urzędu).

Weryfikacja dla certyfikatów Extended Validation (EV)

EV obejmuje wieloetapową, rygorystyczną weryfikację: rejestrację firmy, adres i telefon, uprawnienia osoby kontaktowej, prawo do domeny oraz końcowe potwierdzenie. Proces trwa zwykle 2–10 dni roboczych lub dłużej przy brakach w dokumentach.

Weryfikacja domeny – metody techniczne

Niezależnie od typu certyfikatu, kontrolę nad domeną potwierdza się jedną z poniższych metod:

  • weryfikacja e‑mail – link weryfikacyjny wysyłany na adres typu [email protected];
  • DNS TXT – dodanie rekordu TXT z dostarczoną wartością (np. prefiks „_certum” lub inny wymóg CA);
  • DNS CNAME – dodanie rekordu CNAME wskazującego punkt weryfikacyjny CA;
  • plik HTTP – umieszczenie wskazanego pliku w .well-known/acme-challenge/ i jego publiczna dostępność.

Wydanie certyfikatu i pobieranie plików

Po pozytywnej weryfikacji CA podpisuje certyfikat swoim kluczem. Otrzymasz powiadomienie z instrukcjami pobrania. Zestaw plików zwykle obejmuje:

  • certyfikat serwera (.crt/.cer) – zawiera klucz publiczny i dane domeny;
  • klucz prywatny (.key/.pem) – pozostaje na serwerze i nigdy nie jest udostępniany publicznie;
  • łańcuch/pośredni certyfikat (CA bundle) – buduje pełną ścieżkę zaufania do urzędu nadrzędnego.

Poprawny łańcuch certyfikatów jest niezbędny, aby przeglądarki uznały certyfikat za zaufany.

Instalacja certyfikatu na serwerze WWW

Instalacja zależy od oprogramowania serwera. Wymaga umieszczenia plików w odpowiednich katalogach i konfiguracji usługi.

Instalacja na serwerze Apache

Pliki umieszczasz zwykle w: klucz prywatny w /etc/ssl/private/, certyfikat i łańcuch w /etc/ssl/certs/. Następnie włącz SSL i wskaż ścieżki w konfiguracji vhost:

  • SSLEngine on – włącza obsługę SSL dla hosta,
  • SSLCertificateKeyFile – ścieżka do klucza prywatnego,
  • SSLCertificateFile – ścieżka do certyfikatu serwera,
  • SSLCertificateChainFile/SSLCACertificateFile – ścieżka do łańcucha certyfikatów.

Po zmianach zrestartuj usługę, np. poleceniem:

apachectl restart

Instalacja na serwerze IIS

Zaimportuj certyfikat (.cer) do magazynu komputera, a następnie przypisz go w Site Bindings do protokołu HTTPS. Zainstaluj także certyfikaty pośrednie, aby zapewnić pełny łańcuch zaufania.

Instalacja na serwerach z cPanel/DirectAdmin

cPanel (SSL/TLS Manager) umożliwia wklejenie certyfikatu, klucza i łańcucha w interfejsie. DirectAdmin z Let’s Encrypt może automatycznie wydawać i odnawiać certyfikaty – wystarczy włączyć automatyzację.

Konfiguracja szczegółów SSL w aplikacjach

W WordPress przejdź do Ustawienia > Ogólne i zamień http:// na https:// w polach Adres WordPressa (URL) i Adres witryny (URL). W razie potrzeby użyj wtyczki Really Simple SSL lub dostosuj opcje w kreatorze stron (np. Elementor), aby zaktualizować zasoby.

Przezwyciężenie problemów mieszanej zawartości

Gdy strona ładuje się przez HTTPS, a część zasobów przez HTTP, przeglądarki zgłaszają ostrzeżenia. Aby temu zapobiec:

  • zidentyfikuj zasoby HTTP w konsoli przeglądarki (F12) i logach błędów,
  • zamień wszystkie odnośniki na https:// w szablonach, skryptach i CSS,
  • dla WordPress rozważ użycie wtyczek (np. Better Search Replace) do masowej aktualizacji URL.

Po rozwiązaniu mixed content przeglądarka wyświetli pełną kłódkę bezpieczeństwa.

Aktywacja certyfikatu na stronie internetowej

Po instalacji odwiedź adres https://domena.pl i sprawdź kłódkę w pasku adresu. Aby wymusić HTTPS i przekierować ruch z HTTP, użyj reguł w .htaccess (Apache):

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ważność, odnowienie i zarządzanie certyfikatem

Maksymalny okres ważności certyfikatów publicznych to 397 dni. Bezpłatne Let’s Encrypt są ważne 90 dni, ale zwykle odnawiane automatycznie. Proces odnowienia jest podobny do wydania – ponownie potwierdzasz domenę (DV) i w razie zmian dostarczasz dokumenty (OV/EV). Typowe harmonogramy powiadomień o wygaśnięciu to:

  • 60 dni przed wygaśnięciem,
  • 30 dni przed wygaśnięciem,
  • 7 dni przed wygaśnięciem,
  • 1 dzień przed wygaśnięciem,
  • 30 dni po wygaśnięciu.

Automatyczne odnawianie (o ile wspierane) gwarantuje ciągłość HTTPS bez przerw.

Specjalne przypadki – Wildcard, Multidomain i subdomeny

Warto pamiętać o specyfice zaawansowanych wariantów:

  • Wildcard – weryfikujesz wyłącznie domenę główną, a certyfikat obejmuje wszystkie subdomeny,
  • Multidomain – każda domena musi przejść weryfikację osobno (np. [email protected], [email protected] etc.),
  • stała lista SAN – wszystkie domeny dla Multidomain definiujesz przy aktywacji, późniejsze dodanie wymaga nowego certyfikatu.

Różnice między certyfikatami płatnymi a darmowymi

Technicznie poziom szyfrowania jest taki sam, różnice dotyczą weryfikacji i gwarancji. Porównanie najczęstszych opcji:

Typ certyfikatu Poziom weryfikacji Okres ważności (maks.) Automatyczne odnowienia Gwarancja finansowa
Let’s Encrypt (DV) Kontrola domeny (DV) 90 dni Tak (powszechnie) Brak
Komercyjny DV Kontrola domeny (DV) 397 dni Tak (zależnie od dostawcy) Niska/średnia
OV Domena + organizacja 397 dni Tak (zależnie od dostawcy) Średnia/wysoka
EV Rozszerzona weryfikacja 397 dni Tak (zależnie od dostawcy) Wysoka/bardzo wysoka

Wyzwania wspólne i rozwiązywanie problemów

NET::ERR_CERT_COMMON_NAME_INVALID oznacza, że nazwa domeny nie zgadza się z certyfikatem (literówka, zły CN/SAN lub zła instalacja). ERR_SSL_PROTOCOL_ERROR może wynikać z nieprawidłowej daty systemowej, błędnej konfiguracji serwera lub certyfikatu samopodpisanego/na inną domenę. Problem mixed content wywołują zasoby ładowane przez HTTP na stronie HTTPS.

Bezpieczeństwo i ochrona kluczy prywatnych

Klucz prywatny to najwrażliwszy element całego systemu – chroń go bezwzględnie.

  • przechowuj klucz wyłącznie na serwerze i ogranicz do niego uprawnienia,
  • nie wysyłaj klucza e‑mailem ani nie umieszczaj w repozytoriach (np. GitHub),
  • stosuj szyfrowanie i kopie bezpieczeństwa w kontrolowanych lokalizacjach,
  • w razie podejrzenia wycieku natychmiast unieważnij certyfikat i wygeneruj nową parę kluczy.