2009-12-28 | Z cyklu Instalacja Certyfikatów SSL
Część I - generowanie klucza prywatnego.
Na początku należy przejść do katalogu, w którym będzie znajdował się klucz prywatny:
dla Apache'a 1.3.x:
cd /etc/apache/ssl.csr/
dla wydań Apache'a 2.x:
cd /etc/apache2/ssl/
Uwaga: lokalizacja może się różnić w zależności od systemu operacyjnego, powyższe lokalizacje są używane m. in. w dystrybucjach Debian.
Teraz należy wygenerować klucz prywatny, który będzie używany z certyfikatem, zakładamy, że plik klucza będzie nosił nazwe maindomain.com.key.
Klucz może zostać wygenerowany z hasłem i bez hasła. Jeżeli wygenerujesz klucz z hasłem podczas startu Apache'a wymagane będzie podanie hasła, jeżeli wygenerujesz klucz bez hasła, nie będzie ono wymagane przy starcie Apache'a.
Generowanie klucza prywatnego z hasłem.
Aby to uczynić należy posiadać zainstalowany pakiet OpenSSL, a następnie wydać polecenie:
openssl
genrsa –des3 –out www.mydomain.com.key 2048
Nastepnie należy podać hasło dla klucza:
Generowanie klucza bez hasła:
Aby wygenerować klucz bez hasła należy wydać poniższe polecenie:
openssl
genrsa –out www.mydomain.com.key 2048
Uwaga: wygenerowany klucz należy zachować w bezpiecznym miejscu, należy uniemożliwić dostęp do niego osobom trzecim. Klucz ten jest niezbędny do późniejszego używania certyfikatu a wygenerowanie identycznego klucza nie jest możliwe, a co za tym idzie utrata klucza uniemożliwia używanie certyfikatu.
Część II - Tworzenie żądania certyfikatu CSR
Żądanie CSR zostanie utworzone z użyciem wcześniej wygenerowanego klucza prywatnego za pomocą poniższego polecenia:
openssl
req –new –key www.mydomain.com.key –out www.mydomain.com.csr
Uwaga: Jeżeli klucz został utworzony z hasłem, nastąpi potrzeba jego podania.
Uwaga: Podczas tworzenia żądania certyfikatu będziesz musiał podać następujące informacje, nie używając polskich znaków diakrytycznych (ą, ł, ó, Ł, Ó, itp.) oraz znaków specjalnych (< > ~ ! @ # $ % ^ * / \ ( ) ? . , &):
www.mydomain.com
Uwaga: Jeżeli generujesz CSR dla certyfikatów typu Wildcard, to pole Common Name powinno mieć wartość *.mydomain.com
Nie podawaj poniższych danych:
Zostanie utworzony plik tekstowy www.mydomain.com.csr.
Jego przykładowa zawartość może wyglądać następująco:
Można zweryfikować zawartość pliku CSR wydając polecenie:
openssl req -noout -text -in www.mydomain.com.csr
Po wykonaniu powyższych kroków otrzymamy poprawnie wygenerowany plik CSR.