0Pricing
Security+ Academy · Lekcja

Cykl życia certyfikatu i jego unieważnianie

Prześledzą Państwo drogę certyfikatu od wydania, przez odnowienie, aż po unieważnienie, a także dowiedzą się, jak CRL i OCSP przekazują informacje o statusie unieważnienia w czasie rzeczywistym.

Cykl życia certyfikatu i jego unieważnianie to bezpłatna lekcja Security+ Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Security+ Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Security+ Academy zawiera 4 lekcji w sumie.

Cykl życia certyfikatu

Każdy certyfikat cyfrowy przechodzi określony cykl życia — od utworzenia do wycofania. Jego etapy to: żądanie i rejestracja (wygenerowanie pary kluczy, utworzenie CSR), wydanie (urząd certyfikacji weryfikuje i podpisuje certyfikat), wdrożenie (zainstalowanie na serwerze lub urządzeniu), używanie (aktywny okres eksploatacji), odnowienie (przed wygaśnięciem) oraz unieważnienie lub wygaśnięcie (koniec cyklu życia). Zarządzanie tym cyklem na dużą skalę — zwłaszcza w przedsiębiorstwach posiadających tysiące certyfikatów — wymaga automatyzacji i narzędzi do zarządzania cyklem życia certyfikatów (CLM), ponieważ ręczne śledzenie nieuchronnie prowadzi do wygasania certyfikatów i awarii.

Certificate Signing Request (CSR)

Cykl życia certyfikatu rozpoczyna się od Certificate Signing Request (CSR). Wnioskodawca generuje parę kluczy, a następnie tworzy CSR zawierający klucz publiczny i informacje o podmiocie (CN, O, C), który jest podpisywany kluczem prywatnym (co dowodzi posiadania klucza prywatnego bez ujawniania go). CSR jest przesyłany do urzędu certyfikacji, który weryfikuje tożsamość wnioskodawcy i, jeśli wniosek zostanie zatwierdzony, podpisuje certyfikat. Klucz prywatny nigdy nie opuszcza zasobów wnioskodawcy. Generowanie CSR to kluczowy etap, na którym określa się siłę klucza — należy użyć co najmniej klucza RSA o długości 2048 bitów lub klucza ECC o długości 256 bitów.

# Complete CSR generation workflow
# Step 1: Generate private key (RSA 2048)
openssl genrsa -out server.key 2048

# Step 2: Create CSR with all required fields
openssl req -new -key server.key -out server.csr \
  -subj '/CN=www.example.com/O=Example Corp/OU=IT/C=US/ST=CA/L=San Jose'

# Step 3: Verify CSR content before submitting
openssl req -in server.csr -noout -text | grep -A5 'Subject'

Odnowienie certyfikatu

Certyfikaty należy odnowić przed upływem daty notAfter. Dobrą praktyką jest rozpoczęcie procesu odnowienia co najmniej 30 dni przed wygaśnięciem (wiele organizacji przyjmuje okres 60–90 dni). Odnowienie zazwyczaj obejmuje wygenerowanie nowego CSR i klucza prywatnego, przesłanie ich do urzędu certyfikacji oraz zastąpienie starego certyfikatu i klucza na wszystkich serwerach, na których są wdrożone. Let's Encrypt automatyzuje ten proces za pomocą protokołu ACME — narzędzie certbot automatycznie odnawia certyfikaty, gdy pozostało do ich wygaśnięcia mniej niż 30 dni. Wygasłe certyfikaty powodują błędy przeglądarki, które uniemożliwiają użytkownikom dostęp do usług.

# Automated renewal with Certbot (Let's Encrypt)
# Install certbot and obtain a certificate
certbot --nginx -d example.com -d www.example.com

# Certbot sets up automatic renewal via cron or systemd timer
# Manual renewal test (dry run)
certbot renew --dry-run

# Check when certificates expire
certbot certificates
# Certificate Name: example.com
# Expiry Date: 2026-09-15 (VALID: 87 days)

Dlaczego unieważniać certyfikat?

Unieważnianie certyfikatu to proces unieważnienia certyfikatu przed zaplanowaną datą jego wygaśnięcia. Przyczyny unieważnienia obejmują: przejęcie klucza prywatnego (najpilniejszy przypadek — wymagane jest natychmiastowe unieważnienie), błędne wydanie certyfikatu (nieprawidłowa domena lub organizacja), zmianę informacji o podmiocie (zmiana nazwy firmy, odejście pracownika) lub przejęcie samego urzędu certyfikacji. Unieważnienie ma kluczowe znaczenie, ponieważ przeglądarki i systemy, które nie wiedzą, że certyfikat został unieważniony, nadal będą mu ufać — zapewniając osobie posiadającej skradziony klucz prywatny możliwość aktywnego ataku MITM aż do wygaśnięcia certyfikatu lub uzyskania informacji o jego unieważnieniu.

Listy unieważnionych certyfikatów (CRL)

Certificate Revocation List (CRL) to podpisana lista publikowana przez urząd certyfikacji, zawierająca numery seryjne wszystkich wydanych przez niego certyfikatów, które zostały unieważnione, ale jeszcze nie wygasły. Klienci pobierają listę CRL, zapisują ją w pamięci podręcznej i sprawdzają, czy numer seryjny przedstawionego certyfikatu znajduje się na liście. Listy CRL mają istotne ograniczenia: mogą być bardzo duże (duże urzędy certyfikacji mają miliony unieważnionych certyfikatów), klienci często przechowują je w pamięci podręcznej przez wiele godzin lub dni, co powoduje opóźnienia, a pobieranie całej listy CRL przy każdym połączeniu jest nieefektywne. Listy CRL są nadal używane, ale coraz częściej uzupełnia się je protokołem OCSP lub zastępuje się je tym protokołem.

# Download and view a CRL
# First get the CRL URL from the certificate
openssl x509 -in cert.pem -noout -text | grep -A4 'CRL Distribution'
# URI:http://crl3.digicert.com/DigiCertGlobalRootCA.crl

# Download and decode the CRL
openssl crl -inform DER -in DigiCertGlobalRootCA.crl -noout -text | head -40
# Shows: Revoked Certificates list with serial numbers and revocation dates

OCSP: Online Certificate Status Protocol

OCSP (Online Certificate Status Protocol) umożliwia sprawdzanie unieważnienia certyfikatu w czasie rzeczywistym bez konieczności pobierania przez klientów całych list CRL. Klient wysyła do respondera OCSP urzędu certyfikacji zapytanie zawierające numer seryjny certyfikatu. Responder odpowiada podpisaną informacją, wskazując, czy certyfikat jest ważny, unieważniony (wraz z datą i przyczyną unieważnienia), czy nieznany. OCSP działa szybciej i dostarcza bardziej aktualnych informacji niż CRL, ale każde połączenie TLS wymaga dodatkowej komunikacji HTTP z responderem OCSP, co zwiększa opóźnienie. Odpowiedzi OCSP są podpisywane przez urząd certyfikacji, aby zapobiec ich modyfikowaniu.

# Query OCSP status manually
# Get OCSP URL from certificate
OCSP_URL=$(openssl x509 -in cert.pem -noout -ocsp_uri)
echo $OCSP_URL  # http://ocsp.digicert.com

# Check certificate revocation status via OCSP
openssl ocsp -issuer intermediate_ca.pem \
              -cert cert.pem \
              -url $OCSP_URL \
              -text -noverify
# Response: cert.pem: good

Stapling OCSP: rozwiązanie problemu wydajności

Stapling OCSP rozwiązuje problem opóźnień związanych z kontrolą OCSP w czasie rzeczywistym. Zamiast wysyłać zapytanie do serwera OCSP urzędu certyfikacji podczas każdego uzgadniania TLS, serwer wcześniej pobiera własną odpowiedź OCSP z urzędu certyfikacji i dołącza ją do uzgadniania TLS. Klient otrzymuje bezpośrednio od serwera aktualną odpowiedź OCSP podpisaną przez urząd certyfikacji — bez konieczności wykonywania dodatkowego żądania. Serwer okresowo odświeża dołączoną odpowiedź OCSP, zazwyczaj co godzinę. Stapling OCSP zwiększa szybkość nawiązywania połączeń i zmniejsza obciążenie serwerów OCSP urzędów certyfikacji, jednocześnie zachowując możliwość sprawdzania unieważnienia certyfikatu.

# Enable OCSP Stapling in nginx
# In your server block:
# ssl_stapling on;
# ssl_stapling_verify on;
# ssl_trusted_certificate /path/to/chain.pem;
# resolver 8.8.8.8 8.8.4.4 valid=300s;

# Verify OCSP Stapling is working
openssl s_client -connect example.com:443 -status 2>/dev/null | \
  grep -A 20 'OCSP Response Status'
# OCSP Response Status: successful (0x0)
# Cert Status: Good

Rozszerzenie OCSP Must-Staple

OCSP Must-Staple to rozszerzenie X.509, które informuje przeglądarki, że serwer musi dostarczyć dołączoną odpowiedź OCSP. Bez tego rozszerzenia przeglądarki stosują mechanizm „soft fail”, gdy sprawdzenie OCSP zakończy się niepowodzeniem — zezwalają na połączenie, aby awaria serwera OCSP nie blokowała całego ruchu TLS. Atakujący może wykorzystać działanie mechanizmu soft fail, blokując żądanie OCSP klienta i sprawiając, że certyfikat będzie wyglądał na nadal ważny, nawet po jego unieważnieniu. OCSP Must-Staple zapobiega temu, wymagając prawidłowej dołączonej odpowiedzi; bez niej przeglądarka odrzuca połączenie. Rozwiązanie to jest nadal stosowane w ograniczonym zakresie ze względu na złożoność wdrożenia.

Przypinanie certyfikatów a unieważnianie

Unieważnianie certyfikatów i przypinanie certyfikatów rozwiązują ten sam problem — zaufanie do fałszywych certyfikatów — ale z różnych perspektyw. Unieważnianie (CRL/OCSP) jest mechanizmem reaktywnym: urząd certyfikacji unieważnia certyfikat po wykryciu problemu. Przypinanie jest mechanizmem proaktywnym: aplikacja odrzuca każdy certyfikat poza wcześniej zatwierdzonym. Przypinanie zapewnia silniejsze gwarancje niż unieważnianie, ponieważ działa nawet wtedy, gdy urząd certyfikacji nie unieważni certyfikatu odpowiednio szybko, ale wprowadza sztywność wdrożenia. Na egzamin Security+ należy znać oba mechanizmy i rozumieć, że unieważnianie jest standardowym mechanizmem PKI, natomiast przypinanie jest opcjonalnym środkiem obrony w modelu defense-in-depth.

Podsumowanie: przypinanie certyfikatów a unieważnianie

Po unieważnieniu certyfikatu urząd certyfikacji przypisuje mu kod przyczyny unieważnienia, który pomaga klientom i administratorom zrozumieć, dlaczego do tego doszło. Typowe kody przyczyn zdefiniowane w RFC 5280 to: keyCompromise (klucz prywatny został przejęty), cACompromise (urząd certyfikacji wystawiający certyfikat został przejęty), affiliationChanged (zmieniła się organizacja podmiotu), superseded (wystawiono nowy certyfikat zastępujący poprzedni), cessationOfOperation (domena nie jest już aktywna) oraz privilegeWithdrawn (uprawnienie zostało odebrane). Kod przyczyny pojawia się zarówno we wpisach CRL, jak i w odpowiedziach OCSP, dostarczając zespołom reagowania na incydenty kontekstu podczas badania zdarzeń związanych z unieważnieniem.

Automatyczne zarządzanie certyfikatami: ACME

Protokół ACME (Automatic Certificate Management Environment), używany przez Let's Encrypt, automatyzuje cały cykl życia certyfikatu. Klienci ACME, tacy jak certbot, automatycznie żądają certyfikatów, odnawiają je i wdrażają bez udziału człowieka. Urząd certyfikacji korzysta z wyzwań walidacji domeny, aby potwierdzić własność domeny: wyzwanie HTTP-01 wymaga umieszczenia określonego pliku pod znanym adresem URL, a wyzwanie DNS-01 wymaga utworzenia rekordu TXT w DNS. ACME zmienił sposób zarządzania certyfikatami — 90-dniowe certyfikaty Let's Encrypt obsługują obecnie znaczną część ruchu HTTPS w internecie, a wszystkie są automatycznie odnawiane.

# ACME/certbot lifecycle
# Initial certificate issuance (HTTP challenge)
certbot certonly --webroot -w /var/www/html \
  -d example.com -d www.example.com

# Or DNS challenge (for wildcard certs)
certbot certonly --dns-route53 \
  -d '*.example.com' -d example.com

# Automatic renewal via cron (certbot installs this)
# 0 12 * * * root certbot renew --quiet

Szybkie sprawdzenie

Sprawdź swoją wiedzę na temat zagadnień CompTIA Security+ (SY0-701) omówionych w tej lekcji.

Podsumowanie lekcji

W tej lekcji poznali Państwo następujące zagadnienia: cykl życia certyfikatu obejmuje generowanie CSR, wystawienie, wdrożenie oraz odnowienie lub unieważnienie; CRL udostępnia zbiorcze listy unieważnionych certyfikatów, natomiast OCSP zapewnia informacje o statusie poszczególnych certyfikatów w czasie rzeczywistym; Stapling OCSP eliminuje opóźnienia związane z użyciem OCSP w czasie rzeczywistym; a ACME (Let's Encrypt) automatyzuje cały cykl odnawiania. Następnie omówimy przypadki użycia PKI.

Często zadawane pytania

Czy lekcja „Cykl życia certyfikatu i jego unieważnianie” jest bezpłatna?

Tak — pełny tekst „Cykl życia certyfikatu i jego unieważnianie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Security+ Academy, przejdź na CoddyKit PRO. Kurs Security+ Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Cykl życia certyfikatu i jego unieważnianie”?

Prześledzą Państwo drogę certyfikatu od wydania, przez odnowienie, aż po unieważnienie, a także dowiedzą się, jak CRL i OCSP przekazują informacje o statusie unieważnienia w czasie rzeczywistym. Ćwiczysz Security+ Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Security+ Academy?

Nie wymagamy żadnego doświadczenia. Security+ Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Cykl życia certyfikatu i jego unieważnianie”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Security+ Academy?

Tak. Każda lekcja Security+ Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Urzędy certyfikacji i łańcuchy zaufania
  2. Struktura certyfikatu X.509
  3. Cykl życia certyfikatu i jego unieważnianie
  4. Zastosowania PKI: HTTPS, S/MIME i podpisywanie kodu
← Powrót do Security+ Academy