Dekoder CSR
Zanim urząd certyfikacji podpisze certyfikat TLS, przekazujesz mu żądanie podpisania certyfikatu (CSR), blok base64 zawierający podmiot, który ma znaleźć się na certyfikacie, oraz twój klucz publiczny, a także podpis potwierdzający, że posiadasz pasujący klucz prywatny. Ten dekoder przyjmuje CSR zakodowane w PEM i pokazuje pola podmiotu oraz parametry klucza publicznego, dzięki czemu możesz sprawdzić nazwę pospolitą, organizację i rozmiar klucza przed przekazaniem żądania urzędowi.
Jak zdekodować CSR
-
1
Wklej CSR
Dołącz znaczniki `-----BEGIN CERTIFICATE REQUEST-----` i `-----END CERTIFICATE REQUEST-----`. Białe znaki są tolerowane.
-
2
Uruchom dekoder
Żądanie zostaje przeanalizowane i odczytywane są pola podmiotu oraz klucz publiczny.
-
3
Sprawdź wynik
Zweryfikuj pola podmiotu, takie jak nazwa pospolita i organizacja, oraz algorytm i rozmiar klucza.
-
4
Zadziałaj zgodnie z wynikiem
Jeśli podmiot lub klucz wyglądają źle, wygeneruj CSR ponownie przed przekazaniem go urzędowi.
Co pokazuje dekoder
CSR to struktura ASN.1 (PKCS #10). Dekoder odczytuje z niej dwie rzeczy:
- Podmiot: żądane pola Nazwy Wyróżniającej, zwykle kraj (C), organizacja (O), jednostka organizacyjna (OU), miejscowość (L), stan (ST) i nazwa pospolita (CN).
- Klucz publiczny: algorytm (RSA, EC, DSA) i rozmiar klucza w bitach.
Podpis zawarty w CSR to dowód dla urzędu, że składający posiada pasujący klucz prywatny. Ten dekoder go nie wyświetla; urząd weryfikuje go podczas przetwarzania żądania.
Przykładowy wynik
W przypadku typowego żądania certyfikatu domeny wynik wygląda tak:
Subject: commonName=www.example.com, organizationName=Example Inc., countryName=US
Key bits: 2048
Key type: RSA
Dokładne nazwy atrybutów podmiotu zależą od sposobu wygenerowania żądania.
Pola do podwójnego sprawdzenia
- Nazwa pospolita (CN): powinna być podstawową nazwą hosta. Nowoczesne przeglądarki ignorują CN i patrzą tylko na SAN-y, ale wiele urzędów nadal wymaga poprawnego CN.
- Alternatywne nazwy podmiotu (SAN-y): wymień każdą nazwę hosta i symbol wieloznaczny, które certyfikat zabezpieczy. Przeglądarki dopasowują do SAN-ów, nie do CN.
- Kraj (C): 2-literowy kod ISO (US, GB, DE), a nie pełna nazwa. Urzędy odrzucają błędne kody.
- Rozmiar klucza: RSA 2048 to dolna granica; 3072 lub 4096 dla wyższego bezpieczeństwa. ECDSA P-256 to dobra nowoczesna alternatywa i daje mniejszy certyfikat.
- Algorytm podpisu: SHA-256 lub lepszy. SHA-1 jest dawno wycofany i zostanie odrzucony.
O alternatywnych nazwach podmiotu (SAN)
Dekoder pokazuje podmiot żądania, ale nie rozszerzenie SAN. Przeglądarki dopasowują certyfikaty do SAN-ów, a nie do CN; jeśli certyfikat ma obejmować dodatkowe nazwy hostów, uwzględnij je podczas generowania żądania, na przykład:
openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr -addext "subjectAltName=DNS:example.com,DNS:www.example.com"
Gdy dekoder nie może przetworzyć CSR
Najczęstsze przyczyny to ucięty lub uszkodzony blok PEM:
- Ucięty tekst: wklej ponownie pełny blok wraz z oboma znacznikami.
- Wstawione podziały linii: wklej blok dokładnie tak, jak został wygenerowany.
- Błędna treść: klucz publiczny, certyfikat lub klucz prywatny wklejone przez pomyłkę nie zostaną przetworzone jako CSR.
Generowanie pasującego klucza
CSR jest zawsze generowany wraz z kluczem prywatnym. Typowe polecenie:
openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr
Albo dla ECDSA:
openssl req -new -newkey ec:<(openssl ecparam -name prime256v1) -nodes -keyout example.key -out example.csr
Strzeż klucza prywatnego, jeśli wycieknie, certyfikat trzeba unieważnić.
Najczęściej zadawane pytania
CSR zawiera tylko informacje publiczne (klucz publiczny, podmiot, SAN-y) oraz podpis, więc bezpiecznie jest je udostępnić urzędowi lub wkleić do dekodera. Tajny musi pozostać pasujący klucz prywatny.
Nie. Ten dekoder oczekuje tekstowej formy PEM ze znacznikami BEGIN/END CERTIFICATE REQUEST. Aby użyć binarnego żądania DER, najpierw przekonwertuj je na PEM, na przykład poleceniem openssl req -in request.der -inform DER -out request.pem.
Nie. Większość publicznych urzędów (Let’s Encrypt, DigiCert, Sectigo) wymaga tylko CN i SAN-ów, ignorując O, OU, L, ST, C w certyfikatach weryfikowanych domeną. Certyfikaty weryfikowane organizacją i z rozszerzoną weryfikacją sprawdzają te pola osobno.
Najczęściej dlatego, że wklejony tekst został ucięty lub wstawiono w nim podziały linii, albo zamiast CSR wklejono klucz lub certyfikat. Wklej ponownie pełny blok między dwoma znacznikami.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Generator losowych liter
Generuj losowe litery A-Z. Wybierz liczbę, wielkie litery, małe litery lub zapis mieszany i użyj wyniku w grach, zadaniach lub lekcjach.
Konwerter ASCII na binarny
Konwertuj dowolny ciąg ASCII na reprezentację binarną. Każdy znak staje się ośmioma bitami, rozdzielonymi spacjami, gotowymi do wklejenia w ślad protokołu albo zadanie domowe.
Próbnik kolorów HEX
Wybierz lub wpisz kolor HEX i sprawdź RGB, HSL, przybliżone CMYK, luminancję względną oraz kontrast z bielą i czernią.