Darmowy certyfikat TLS (HTTPS) od Lets Encrypt

Witam w nowym roku ;) Dziś pogadamy o Internecie.

Na cały Internet składa się mnóstwo mniej lub bardziej ważnych protokołów.

Jednym z tych bardziej ważnych jest HTTP. Za pomocą protokołu HTTP przesyła się żądania udostępnienia dokumentów WWW i informacje o kliknięciu odnośnika oraz informacje z formularzy. Zadaniem stron WWW jest publikowanie informacji – natomiast protokół HTTP właśnie to umożliwia.

Rozwój Internetu zaczyna wymagać od użytkowników szyfrowania informacji – takie działanie zapewnia nam iż dane jakie odbieramy nie były podczas przesyłu zmienione ani podejrzane przez kogoś kto nie powinien ich widzieć. Szyfrować możemy za pomocą certyfikatów. Takie certyfikaty wydają urzędy certyfikacji.

Certyfikaty kosztują. Poza tym trzeba je odnawiać co również kosztuje. Nie dawno natknąłem się na darmową alternatywę – Let’s Encrypt.

Aby otrzymać certyfikat od tej organizacji należy sobie go po prostu wygenerować ;) Ja robiłem to na linuxie – CentOSie 6.5.

Instrukcja krok po kroku:

  1.  Klonujemy repozytorium.
  2. 1
    git clone https://github.com/letsencrypt/letsencrypt
  3.  Przechodzimy do folderu z aplikacją
  4. 1
    cd letsencrypt
  5. Uruchamiany generowanie
  6. 1
    ./letsencrypt-auto --manual certonly

On teraz poinstaluje sobie mnóstwo rzeczy do Pythona. Pomyśli chwilę nad „Installing Python packages…” aż w końcu pokaże się okienko podobne do:

I wpisujemy tutaj domenę dla której generujemy certyfikat, np. mmazur.eu.org. No i naciskamy Ok. Następne okno:


Tutaj naciskamy Yes.
No i teraz mamy tę część w której musimy wykonać pewne akcje na naszej stronie. Dostaliśmy taki komunikat:

Z tego interesują nas te fragmenty:

Pierwszy określa pod jakim linkiem musi być dostępny tworzony plik a drugi fragment to kawałek polecenia tworzący ten plik. W tym przykładzie tworzymy certyfikat dla strony rap-cytaty.com i widzimy że tworzony plik powinien być dostępny pod adresem

1
http://rap-cytaty.com/.well-known/acme-challenge/vt(...)H8

a kawałek polecenia tworzący ten plik to

1
printf "%s" vtp(...)eI1d4M > .well-known/acme-challenge/vtpGV(...)H8

Tworzymy więc ten plik. I naciskamy enter.

Po tym powinniśmy dostać na ekranie efekt podobny do

– Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/rap-cytaty.com/fullchain.pem. Your cert will
expire on 2016-05-16. To obtain a new version of the certificate in
the future, simply run Let’s Encrypt again.

A w owym folderze znalazły się pliki:

1
cert.pem  chain.pem  fullchain.pem  privkey.pem

Aby dodać tak wygenerowany certyfikat do swojej strony musimy do wrzucić na serwer. A korzystając z DirectAdmina możemy wkleić pierw zawartość pliku cert.pem w to duże pole na dole a potem w to samo pole, pod tym co teraz wkleiliśmy – dodać zawartość pliku privket.pem

Gdy zrobimy to, to klikamy „Zapisz”. Wchodzimy teraz w to samo miejsce ponownie, schodzimy na sam dół strony i pod tym textarea gdzie we wcześniejszym kroku wklejaliśmy zawartość wygenerowanych certyfikatów klikamy na „Kliknij tu”:

Tam zaznaczamy checkbox „Użyj certyfikatu CA” i w pole poniżej wklejamy zawartość pliku chain.pem. Klikamy zapisz i możemy cieszyć się zaufanym certyfikatem :)

Takim właśnie sposobem, mój blog, pierwszy raz w swojej historii ma HTTPS’a :)

Dzięki za wizytę,
Mateusz Mazurek
Podziel się na:
    Facebook email PDF Wykop Twitter

4
Dodaj komentarz

avatar
3 Wątki
1 Odpowiedzi
0 Śledzący
 
Komentarz z największą liczbą reakcji
Najczęściej komentowany wątek
2 Komentarze autora
Mateusz M.RosolManipulacja Audio w HTML5 | Mateusz Mazurek - Inżynieria oprogramowania Ostatnie komentarze autora

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

  Subskrybuj  
Powiadom o
trackback

[…] Jak zwykle kod pisany jest pod Chrome, ale łatwo możecie go sobie przepisać min. na FireFoxa. Zacznijmy od uzyskania dostępu do mikrofonu. UserMedia w Chrome wymagają aby strona żądająca do nich dostępu była serwowana przez HTTPs, stąd demo które zamieszczę, ma darmowy, zaufany certyfikat, wygenerowany zgodnie z poprzednim wpisem na tym blogu – Darmowy certyfikat TLS (HTTPS) od Lets Encrypt […]

Rosol
Gość
Rosol

Taka uwaga. Jeśli ktoś podpisuje certyfikat na serwerze, gdzie działa już apache czy inny nginx, to musi najpierw wyłączyć web serwer, inaczej dostanie błąd socket error i nie podpisze certyfikatu.
A poza tym, fajna i prosta sprawa taki certyfikat, szkoda tylko że na 3 miesiące.