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.

VMware
VCF, backup configuration

Backup implementation for VMware component is fairly easy. Just the requirements is to configure SFTP server in proper way and make it network available to the VMware components. SDDC Manager and NSX Manager backup In VCF Operations it is possible to configure backup for SDDC Manager and NSX Manager. Go …

VMware
VCF Automation, fresh environment configuration with identity providers and access control.

Introduction Login Login as user admin to the Organization name: system or if selected manual: Check the connections (in Administration section), where you should see connection to the vCenter and NSX-t manager as those are provided automatically via VCF Operations: the same for VCF Instances: Also check your networking: Identity …

VMware
VCF SoS

SoS (Supportability and Serviceability) command can be used for troubleshooting purpose to generate VCF (per component) log bundle, massively enable/disable ssh service on ESXi, vCenter, password and certificates expiry status, verify cluster health and many other. while troubleshooting, the following commands can be helpful: