Czym jest CSR i jak go stworzyć?
CSR (Certificate Signing Request) to blok zakodowanego tekstu, który organizacja lub osoba fizyczna przesyła do urzędu certyfikacji (CA) podczas ubiegania się o certyfikat SSL. CSR zawiera informacje, których urząd certyfikacji używa do utworzenia certyfikatu, takie jak klucz publiczny wnioskodawcy i dane organizacji. Certyfikat ten jest następnie używany do zabezpieczenia komunikacji na stronach internetowych poprzez włączenie protokołu HTTPS.
W tym artykule wyjaśnimy, czym jest CSR, dlaczego jest ważny i przedstawimy instrukcje krok po kroku, jak go utworzyć.
Co to jest CSR (żądanie podpisania certyfikatu)?
CSR to plik zawierający klucz publiczny właściciela witryny oraz ważne informacje o witrynie i organizacji żądającej certyfikatu SSL. Żądanie to jest następnie przesyłane do urzędu certyfikacji (CA), takiego jak Let’s Encrypt, DigiCert lub Comodo, który weryfikuje szczegóły przed wydaniem certyfikatu.
Typowy CSR zawiera:
- Klucz publiczny: Używany w procesie szyfrowania.
- Common Name (CN): W pełni kwalifikowana nazwa domeny (FQDN), którą chcesz zabezpieczyć (np. www.example.com).
- Nazwa organizacji: Nazwa firmy lub osoby ubiegającej się o certyfikat SSL.
- Jednostka organizacyjna: Dział lub oddział w firmie (opcjonalnie).
- Miejscowość: Miasto, w którym znajduje się organizacja.
- State/Province: Stan lub prowincja, w której znajduje się organizacja.
- Kraj: Dwuliterowy kod kraju (np. US dla Stanów Zjednoczonych).
CSR nie zawiera klucza prywatnego strony internetowej, który jest generowany i przechowywany bezpiecznie na serwerze.
Dlaczego CSR jest ważny?
CSR jest istotną częścią procesu wydawania certyfikatu SSL. Oto dlaczego jest ważny:
1. Żądanie certyfikatu SSL
Podczas ubiegania się o certyfikat SSL należy przesłać CSR do urzędu certyfikacji. Urząd certyfikacji używa informacji zawartych w CSR do wydania certyfikatu, który pasuje do domeny, organizacji i serwera.
2. Bezpieczeństwo
CSR zawiera klucz publiczny, który jest używany do szyfrowania danych między serwerem a klientem (przeglądarką). Klucz prywatny, który jest generowany wraz z kluczem publicznym, jest przechowywany bezpiecznie na serwerze i nigdy nie jest nikomu udostępniany. Razem umożliwiają one bezpieczną komunikację przy użyciu protokołu SSL/TLS.
3. Walidacja
Urząd certyfikacji wykorzystuje informacje zawarte w CSR do weryfikacji tożsamości żądającego certyfikatu. W zależności od typu certyfikatu SSL (np. walidacja domeny, walidacja organizacji lub rozszerzona walidacja), urząd certyfikacji może przeprowadzić różne poziomy kontroli przed wydaniem certyfikatu.
Jak utworzyć CSR
Tworzenie CSR obejmuje wygenerowanie pary kluczy publiczny-prywatny, a następnie utworzenie CSR przy użyciu tych kluczy. Proces ten różni się nieznacznie w zależności od używanego serwera, ale podstawowe kroki są takie same.
Krok 1: Generowanie klucza prywatnego
Pierwszym krokiem w tworzeniu CSR jest wygenerowanie klucza prywatnego. Klucz prywatny będzie używany do szyfrowania i odszyfrowywania danych w witrynie i powinien być bezpieczny.
Przykład przy użyciu OpenSSL (Linux, macOS lub Windows z zainstalowanym OpenSSL):
- Otwórz terminal lub wiersz polecenia.
- Uruchom następujące polecenie, aby wygenerować klucz prywatny:
openssl genrsa -out private.key 2048
Spowoduje to wygenerowanie 2048-bitowego klucza prywatnego RSA i zapisanie go w pliku o nazwie private.key.
Krok 2: Wygenerowanie CSR
Po uzyskaniu klucza prywatnego następnym krokiem jest utworzenie CSR. CSR zawiera klucz publiczny (pochodzący z klucza prywatnego) i informacje o organizacji.
Przykład przy użyciu OpenSSL:
- W terminalu uruchom następujące polecenie:
openssl req -new -key private.key -out yourdomain.csr
Zostaniesz poproszony o wprowadzenie informacji dla CSR. Oto, co należy podać:
- Nazwa kraju (2-literowy kod): Dwuliterowy kod kraju (np. USA, GB).
- Nazwa stanu lub prowincji: Pełna nazwa stanu lub prowincji (nie skracaj).
- Nazwa miejscowości: Miasto lub miejscowość, w której znajduje się organizacja.
- Nazwa organizacji: Pełna nazwa prawna firmy lub organizacji (lub imię i nazwisko, jeśli jesteś osobą fizyczną).
- Nazwa jednostki organizacyjnej: Dział lub oddział (opcjonalnie).
- Common Name: W pełni kwalifikowana nazwa domeny (FQDN), którą chcesz zabezpieczyć (np. www.example.com lub example.com).
- Adres e-mail: Kontaktowy adres e-mail (opcjonalnie).
- Po wprowadzeniu wymaganych informacji CSR zostanie zapisany w pliku o nazwie yourdomain.csr.
Krok 3: Prześlij CSR do urzędu certyfikacji
Po wygenerowaniu CSR można przesłać go do urzędu certyfikacji (CA) podczas ubiegania się o certyfikat SSL. Urząd certyfikacji wykorzysta informacje zawarte w CSR do wydania certyfikatu.
Krok 4: Bezpieczne zapisanie klucza prywatnego
Klucz prywatny wygenerowany w kroku 1 ma kluczowe znaczenie dla szyfrowania SSL. Upewnij się, że jest on bezpieczny i nie udostępniaj go nikomu. Jeśli klucz prywatny zostanie utracony lub naruszony, konieczne będzie wygenerowanie nowego klucza i zażądanie nowego certyfikatu SSL.
Popularne narzędzia i metody CSR
Oprócz korzystania z OpenSSL, można również tworzyć CSR za pomocą innych narzędzi i metod, w zależności od używanej platformy:
1. Korzystanie z cPanel (Panel sterowania hostingu internetowego)
Jeśli Twoja witryna jest hostowana przez dostawcę korzystającego z cPanel, możesz utworzyć CSR bezpośrednio w panelu sterowania:
- Zaloguj się do swojego konta cPanel.
- Przejdź do sekcji Bezpieczeństwo i kliknij SSL/TLS.
- W sekcji Certificate Signing Requests (CSR) kliknij Generate, view, or delete SSL certificate signing requests.
- Wypełnij formularz CSR wymaganymi informacjami (podobnymi do tych wprowadzanych w OpenSSL).
- Kliknij przycisk Generuj. CSR zostanie wyświetlony i można go skopiować w celu przesłania do urzędu certyfikacji.
2. Korzystanie z IIS (Windows Server)
Jeśli zarządzasz witryną na serwerze Windows Server przy użyciu IIS, możesz utworzyć CSR za pomocą Menedżera IIS:
- Otwórz Menedżera IIS na swoim serwerze.
- Wybierz swój serwer z panelu Połączenia.
- Kliknij dwukrotnie Certyfikaty serwera w sekcji IIS.
- W panelu Akcje kliknij Utwórz żądanie certyfikatu.
- Wypełnij szczegóły CSR i kliknij Next.
- Wybierz dostawcę kryptograficznego i długość bitów (zwykle 2048).
- Zapisz CSR w pliku i prześlij go do urzędu certyfikacji.
Wnioski
Żądanie podpisania certyfikatu (CSR) jest krytyczną częścią procesu certyfikacji SSL, umożliwiającą żądanie certyfikatu od urzędu certyfikacji. Zawiera on ważne informacje o organizacji i domenie, którą chcesz zabezpieczyć. Generując CSR za pomocą narzędzi takich jak OpenSSL, cPanel lub IIS, można uzyskać certyfikat SSL, który będzie chronić witrynę i umożliwi bezpieczną komunikację między serwerem a odwiedzającymi.
Pamiętaj, aby zachować swój klucz prywatny w bezpiecznym miejscu i postępuj zgodnie z instrukcjami CA, aby zakończyć instalację certyfikatu SSL. Dzięki prawidłowo skonfigurowanemu certyfikatowi SSL zapewnisz, że Twoja witryna pozostanie bezpieczna i godna zaufania dla użytkowników.