Tworzenie certyfikatu ssl dla strony internetowej.

Nic trudnego, ale zawsze gdy tworzę certyfikat (a robię to co kilka miesięcy) kończy się to zwykle ponownym przeglądaniem Internetu. Poniżej zamieszczam procedurę, która zadziała w większości wypadków.

Potrzebujemy:

  • strony hostującej naszą stronę
  • utworzyć żądanie z certyfikatem – CSR (najprościej pod linuksem lub macos lub w podsystemie linux w windowsie)
  • przesłać certyfikat do instytucji certyfikującej
  • potwierdzić, że strona (domena) należy do nas
  • zainstalować certyfikat u naszego providera hostującego naszą stronę

Listę instytucji certyfikujących można łatwo odnaleźć w Internecnie. Ja ostatnio skorzystałem z promocji na stronie namecheap gdzie udało mi się zakupić roczny certyfikat za 3$ 😉

Inna możliwość to skorzystanie z certyfikatu Let’s Encrypt https://letsencrypt.org/ gdzie można za darmo utworzyć certyfikat. Przydaje się to jedynie do testów bądź w sytucaji gdy nasz dostawca hostingowy zaimplementował automatykę do odnawiania certyfikatu. Let’s Encrypt generuje darmowy certyfikat ważny tylko przez 3 mc-e.
Bez automatyki można oczywiście odnawiać ten certyfikat samodzielnie za pomocą zainstalowanego certbot na swoim komputerze i ręcznego odświeżania na stronie ale na koniec dnia jest dosyć kłopotliwe.

Tworzenie żądania certyfikatu CSR

Na stacji ze środowiskiem “uniksowym” za pomocą polecenia:

sudo openssl req -new -newkey rsa:2048 -nodes -keyout nazwa_domeny.key -out nazwa_domeny.csr 

Polecenie to tworzy dwa pliki wynikowe:

  • nazwa_domeny.key – to jest klucz prywatny, plik jest bardzo ważny i wykorzystamy go później przy instalacji
    plik ten zaczyna i kończy się następującymi liniami:
    —–BEGIN PRIVATE KEY—–
    klucz
    —–END PRIVATE KEY—–
  • nazwa_domeny.csr – CSR który musimy skopiować dostawcy certyfikatu. Plik ten ma następujący format:
    —–BEGIN CERTIFICATE REQUEST—–
    certyfikat
    —–END CERTIFICATE REQUEST—–

Formularz można wypełnić w następujący sposób:

Country Name (2 letter code) [AU]:PL
State or Province Name (full name) [Some-State]:wielkopolskie
Locality Name (eg, city) []:Poznan
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizacja
Organizational Unit Name (eg, section) []:Dzial
Common Name (e.g. server FQDN or YOUR name) []:nazwa_domeny.XXX
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Ważne są pola które uzupełniłem powyżej. Najważniejsze z nich to “common name” które musi odpowiadać nazwie naszej domeny. Pamiętaj, że domena “jakas-nazwa.xxx” to inna domena niż “www.jakas-nazwa.xxx”. Jeśli nie planujesz kupić certyfikatu typu wildcard musisz o tym pamiętać. Niektóre instytucje certyfikujące uwzględniają to przy generowaniu certyfikatu – inne nie.
Pola: e-mail address, challenge password, optional company name należy traktować jako deprecated i mogą pozostać puste.

Uwaga, czasem należy wklejać pierwszą i ostatnią linię a czasem nie. Zależy to od naszego dostawcy hostingu i certyfikatu i należy dokładnie czytać instrukcję.

CSR i private key można utworzyć również na stronie https://csrgenerator.com/ Pytanie tylko, czy chcemy się dzielić kluczem prywatnym z jakąś firmą trzecią.

Potwierzenie, że strona (domena) należy do nas

Można to zrobić na wiele sposobów. Zwykle umożliwia się wprowadzenie odpowiednich modyfikacji do strony internetowej lub potwierdzenie za pomocą e-mail (konkretnych adresów e-mail w naszej domenie internetowej; przyładem takiego użytkownika zwykle wykorzystywanym jest webmaster@nasza-domena.xx).

Po potwierdzeniu, powinniśmy otrzymać plik CRT z certyfikatem który umieszczamy na stronie. Plik CRT ma następujący format:

—–BEGIN CERTIFICATE—–
certyfikat
—–END CERTIFICATE—–

Instalacja certyfikatu u naszego dostawcy hostingu

W zależności od firmy hostującej wygląda to trochę inaczej. Ale zwykle sprowadza się to do wklejenia kombinacji certyfikatu CRT oraz klucza prywatnego.


Podsumowanie

Procedura jest prosta natomiast jest wiele miejsc w których można potencjalnie popaść w problemy. Wiele zależy od firmy hostującej i zawsze warto poszukać dokumentacji lub ewentualnie skontaktować się z jej pomocą techniczną. Warto też poświęcić trochę czasu przy zakupie certyfikatu, różnica cenowa waha się od kilku do kilkudziesięciu dolarów.

No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Free(BSD)
yt-dlp – download your data from youtube

Hi, this short article only to mention that there is a wonderful application that exists for a years for the purpose to download YOUR or maybe some other movies from youtube. I don’t want to go in to legal aspect too much, what can be downloaded from youtube, what not …

Linux
Migrate WordPress site to another hosting service.

IntroductionThis article details the migration of WordPress site (exactly this site you are now on) from one service provider to Amazon Lightsail. There might be various reason to do that (mine is outlined below) but in general I hope to share the message that especially with WordPress, migration can be …

VMware
VMware Workstation and Fusion can be installed and use for free (even for the enterprise)

For a while now, the VMware Workstation (and Fusion for MacOS) can be used without any additional fee for Personal use. That was a great Broadcom news and nice gesture from that software vendor. Recently Broadcom announced that the software will be available for all, even the commercial sector. This …