Jak witryny uzyskują certyfikaty SSL
Prześledzą Państwo proces wydawania certyfikatu — od CSR, przez weryfikację, po wdrożenie.
Jak witryny uzyskują certyfikaty SSL to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 2 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 Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.
Hierarchia urzędów certyfikacji
System zaufania certyfikatów ma strukturę hierarchiczną. Główne urzędy certyfikacji (root CA) są podpisane samodzielnie i wbudowane w systemy operacyjne oraz przeglądarki. Pośrednie urzędy certyfikacji (intermediate CA) są podpisywane przez główne urzędy certyfikacji i zajmują się faktycznym wydawaniem certyfikatów.
Ta dwupoziomowa struktura pozwala przechowywać klucze prywatne głównych urzędów certyfikacji w trybie offline i w odizolowanym środowisku. Jeśli pośredni urząd certyfikacji zostanie naruszony, jego certyfikaty można unieważnić bez konieczności wprowadzania zmian w głównych kotwicach zaufania urzędów certyfikacji.
Proces weryfikacji domeny
Aby uzyskać certyfikat DV, wnioskodawca musi udowodnić, że kontroluje domenę. Istnieją trzy standardowe wyzwania ACME: wyzwanie DNS (dodanie rekordu TXT do systemu DNS domeny), wyzwanie HTTP (umieszczenie określonego pliku pod określonym adresem URL) oraz wyzwanie TLS-ALPN (udostępnienie określonego certyfikatu podczas negocjacji TLS).
Wszystkie trzy metody potwierdzają, że wnioskodawca kontroluje system DNS domeny albo serwer WWW działający w tej domenie. Uniemożliwia to uzyskanie certyfikatu dla domeny, nad którą wnioskodawca nie ma kontroli.
Protokół ACME
ACME (Automatic Certificate Management Environment, RFC 8555) to protokół używany przez Let's Encrypt i obsługiwany przez większość nowoczesnych urzędów certyfikacji. Automatyzuje cały cykl życia certyfikatu: przeprowadzenie wyzwania, walidację, wydanie i odnowienie.
ACME umożliwia serwerom WWW automatyczne uzyskiwanie i odnawianie certyfikatów bez udziału człowieka. Certbot, acme.sh i większość serwerów WWW ma wbudowanych klientów ACME, dzięki czemu zarządzanie certyfikatami wymaga niemal żadnej bieżącej obsługi.
Tworzenie CSR
Certificate Signing Request (CSR) to blok danych zawierający klucz publiczny wnioskodawcy oraz informacje o podmiocie (nazwę domeny, organizację i kraj). CSR jest podpisywany odpowiadającym mu kluczem prywatnym, aby potwierdzić jego posiadanie.
Urząd certyfikacji weryfikuje CSR, sprawdza dowód kontroli nad domeną i wydaje certyfikat wiążący klucz publiczny zawarty w CSR ze zweryfikowaną nazwą domeny. Klucz prywatny nigdy nie opuszcza serwera.
Pola certyfikatu
Certyfikat X.509 zawiera: Subject (tożsamość, która jest certyfikowana), Subject Alternative Names (SAN, dodatkowe nazwy domen), Issuer (urząd certyfikacji, który go podpisał), okres ważności (Not Before i Not After), klucz publiczny i algorytm oraz podpis cyfrowy urzędu certyfikacji.
Współczesne certyfikaty używają pól SAN zamiast starszego pola Common Name w odniesieniu do nazw domen. Certyfikat może zawierać wiele domen w polu SAN, dzięki czemu jeden certyfikat może obejmować kilka powiązanych domen.
Darmowe certyfikaty Let's Encrypt
Let's Encrypt, uruchomiony w 2016 roku przez Internet Security Research Group, wydaje darmowe certyfikaty DV z wykorzystaniem w pełni automatycznych wyzwań ACME. Wydał już ponad trzy miliardy certyfikatów, znacznie przyspieszając wdrażanie HTTPS.
Certyfikaty Let's Encrypt są ważne przez 90 dni, czyli krócej niż certyfikaty komercyjnych urzędów certyfikacji, i muszą być regularnie odnawiane. Krótki okres ważności jest zamierzony: ogranicza skutki przejęcia certyfikatu i zachęca do automatyzacji.
Komercyjne urzędy certyfikacji i ich wartość
Komercyjne urzędy certyfikacji, takie jak DigiCert, Sectigo i GlobalSign, pobierają opłaty za certyfikaty, ale oferują dodatkowe usługi: weryfikację OV i EV (w tym weryfikację tożsamości organizacji), certyfikaty wieloletnie, ochronę gwarancyjną na wypadek nieprawidłowego wydania certyfikatu oraz obsługę klienta.
Organizacjom, które potrzebują certyfikatów OV lub EV, wymagają dłuższych okresów ważności albo potrzebują komercyjnych gwarancji i umów SLA, komercyjne urzędy certyfikacji zapewniają wartość, której nie oferują dostawcy darmowych certyfikatów DV.
Certyfikaty wieloznaczne
Certyfikat wieloznaczny obejmuje domenę i wszystkie jej bezpośrednie subdomeny. Certyfikat dla *.example.com obejmuje mail.example.com, www.example.com i api.example.com, ale nie obejmuje sub.mail.example.com.
Certyfikaty wieloznaczne są wygodne dla organizacji mających wiele subdomen. Jednak ten sam klucz prywatny chroni wszystkie subdomeny, więc przejęcie jednego serwera oznacza przejęcie certyfikatu dla wszystkich objętych nim subdomen.
Certyfikaty SAN dla wielu domen
Certyfikat Subject Alternative Names (SAN), nazywany również certyfikatem dla wielu domen lub certyfikatem UCC, zawiera jawną listę wielu nazw domen. W przeciwieństwie do certyfikatów wieloznacznych obejmuje konkretne, wymienione domeny, a nie wzorzec.
Certyfikaty SAN są często używane dla powiązanych usług: certyfikat może obejmować example.com, www.example.com, app.example.com i example.io. Każda domena wymaga osobnej weryfikacji, ale jeden certyfikat obejmuje je wszystkie.
Przypinanie certyfikatów i HPKP
Przypinanie certyfikatów nakazuje klientowi akceptować dla danej domeny wyłącznie określone certyfikaty lub klucze publiczne, ignorując podpisane przez urząd certyfikacji certyfikaty, których nie rozpoznaje. Zapobiega to atakom z użyciem fałszywych certyfikatów wydanych przez urząd certyfikacji.
HTTP Public Key Pinning (HPKP) był mechanizmem przeglądarek służącym do przypinania certyfikatów. Został wycofany i usunięty z przeglądarek do 2019 roku, ponieważ błędna konfiguracja mogła trwale zablokować użytkownikom dostęp do witryny. Obecnie preferowanym mechanizmem wykrywania nadużyć związanych z certyfikatami jest Certificate Transparency.
Unieważnianie certyfikatów: OCSP i CRL
Gdy certyfikat zostanie przejęty, urząd certyfikacji może unieważnić go przed upływem terminu ważności. Certificate Revocation List (CRL) to lista numerów seryjnych unieważnionych certyfikatów, którą klienci mogą pobrać i sprawdzić.
OCSP (Online Certificate Status Protocol) umożliwia sprawdzanie statusu unieważnienia poszczególnych certyfikatów w czasie rzeczywistym. OCSP stapling poprawia prywatność i wydajność: serwer wcześniej pobiera podpisaną odpowiedź OCSP i dołącza ją do uzgadniania TLS, dzięki czemu przeglądarka nie musi kontaktować się z urzędem certyfikacji.
Quiz: walidacja certyfikatów
Sprawdź swoją wiedzę na temat rodzajów walidacji certyfikatów.
Najważniejsze informacje: uzyskiwanie certyfikatów SSL
Certyfikaty są wydawane w ramach hierarchii urzędów certyfikacji, w której główne urzędy certyfikacji podpisują pośrednie urzędy certyfikacji, a te wydają certyfikaty końcowe. Certyfikaty DV weryfikują wyłącznie kontrolę nad domeną, natomiast OV i EV weryfikują tożsamość organizacji.
ACME automatyzuje wydawanie i odnawianie certyfikatów. Let's Encrypt wydaje darmowe certyfikaty DV ważne przez 90 dni. Certyfikaty wieloznaczne obejmują wszystkie bezpośrednie subdomeny. Dzienniki Certificate Transparency zapewniają możliwe do skontrolowania rejestry wszystkich wydanych certyfikatów.
Często zadawane pytania
Czy lekcja „Jak witryny uzyskują certyfikaty SSL” jest bezpłatna?
Tak — pełny tekst „Jak witryny uzyskują certyfikaty SSL” 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 Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Jak witryny uzyskują certyfikaty SSL”?
Prześledzą Państwo proces wydawania certyfikatu — od CSR, przez weryfikację, po wdrożenie. Ćwiczysz Cryptology 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ąć Cryptology Academy?
Nie wymagamy żadnego doświadczenia. Cryptology 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 2 z 4.
Ile czasu zajmuje lekcja „Jak witryny uzyskują certyfikaty SSL”?
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 Cryptology Academy?
Tak. Każda lekcja Cryptology 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
- Ikona kłódki: co naprawdę oznacza
- Jak witryny uzyskują certyfikaty SSL
- Ostrzeżenia dotyczące certyfikatów TLS i właściwe działania
- Obniżenie wersji HTTP i zagrożenia związane z mieszanymi treściami