Jak samodzielnie wygenerować darmowy certyfikat SSL od Let’s Encrypt?


29 września 2020 / Michał Kortas


Było już kilka wersji tego poradnika, jednak wszyscy kolejni dostawcy kolejno zamykali swoje pośrednictwo w generowaniu darmowego certyfikatu SSL. Nadszedł więc czas, aby się od nich odciąć i samodzielnie utworzyć darmowy certyfikat SSL/TLS Let’s Encrypt, bez obaw o przejęcie klucza prywatnego przez kogoś z zewnątrz.

Dzisiaj opiszę możliwość tworzenia certyfikatu na maszynie z systemem Windows. Do potwierdzenia własności domeny potrzebna będzie nam możliwość edycji wpisów DNS. Nie jest potrzebne bezpośrednie działanie na serwerze, na którym znajduje się strona.

Jeśli interesuje Cię automatyczne generowanie i odnawianie certyfikatu oraz podpięcie go pod Apache, zajrzyj do nowego wpisu: Generowanie, automatyczne odnawianie i podłączanie darmowych certyfikatów SSL od Let’s Encrypt w Apache.

Certbot – rekomendowany klient do generowania certyfikatów SSL Let’s Encrypt

Let’s Encrypt loves certbot

Certbot jest rekomendowanym przez Let’s Encrypt klientem do generowania darmowych certyfikatów. Zapewnia konsolowy interfejs, który jest jednak prosty w użyciu. Te kilka poniższych kroków zakończą się pomyślnym utworzeniem certyfikatu SSL.

  1. Pobieramy certbota dla Windows z oficjalnej strony i instalujemy go na komputerze
  2. Upewniamy się, że użytkownik, na którego jesteśmy zalogowani będzie miał możliwość zapisu w katalogu C:\Certbot
  3. Uruchamiamy CMD.exe lub PowerShell – koniecznie jako administrator

Weryfikacja domeny przez ustawienie wpisów w DNS

Dodanie specjalnego wpisu w DNS wymaga dostępu do serwera, który obsługuję domenę, a właściwie zarządza naszą strefą DNS.

Aby rozpocząć proces generowania darmowego certyfikatu SSL wykonujemy następującą komendę, zastępując webroad.dev własną nazwą domeny.

Uruchomienie procesu generowania certyfikatu SSL

Uruchomienie procesu generowania certyfikatu SSL

Certyfikat wildcard

Jeśli chcemy wygenerować certyfikat dla wszystkich subdomen naszej domeny, warto zamienić naszą pojedynczą domenę (w moim przypadku webroad.dev) na domenę zapisaną w formacie wildcard.

Dalej postępujemy według wskazówek wyświetlanych w konsoli.

Podajemy adres e-mail

Na podany adres będą wysyłane przypomnienia o konieczności odnowienia certyfikatu.

Podajemy adres e-mail do przypomnień

Podajemy adres e-mail do przypomnień

Warunki

Zapoznajemy się z warunkami korzystania z certyfikatów Let’s Encrypt. Nasza zgoda jest wymagana, aby przejść dalej.

Akceptujemy warunki używania Let's Encrypt

Akceptujemy warunki używania Let’s Encrypt

Newsletter

Możemy zrezygnować lub zgodzić się na newsletter.

Newsletter - zgoda lub nie

Newsletter – zgoda lub nie

Logowanie adresu IP

Wyrażamy zgodę na publiczne logowanie naszego adresu IP z informacją, że z tego adresu nastąpiła inicjacja generowania darmowego certyfikatu.

Wyrażamy zgodę na logowanie adresu IP

Wyrażamy zgodę na logowanie adresu IP

Weryfikacja domeny

Dodajemy wpis TXT do ustawień DNS domeny. Należy upewnić się, że zanim przejdziemy do kolejnego kroku, wpis ten będzie widoczny dla świata z zewnątrz. Moje ustawienia, które wprowadzałem w panelu dhosting.pl zapisały się i były widoczne już w kilka sekund. Może to jednak potrwać dłużej – wszystko zależy od operatora. Widoczność rekordu w DNS można sprawdzić np. na tej stronie.

Otrzymujemy klucz TXT do dodania w DNS

Otrzymujemy klucz TXT do dodania w DNS

Aktualizujemy wpis DNS - przykład w dhosting.pl

Aktualizujemy wpis DNS – przykład w dhosting.pl

Generowanie darmowego certyfikatu

Ostatni krok również może potrwać kilka sekund. Po zakończonym procesie zostaniemy poinformowani stosownym komunikatem.

Certyfikat został wygenerowany

Certyfikat został wygenerowany

Darmowy certyfikat SSL od Let’s Encrypt

Certyfikat, klucz konta w Let’s Encrypt i klucz prywatny zapisały się na dysku, w katalogu C:\Certbot\archive.

Plik certyfikatu i klucz prywatny

Plik certyfikatu i klucz prywatny

Tak wygenerowany certyfikat możemy podpiąć do naszej strony lub aplikacji internetowej.

Bezpiecznego SSLowania.


Tagi:


19 odpowiedzi na “Jak samodzielnie wygenerować darmowy certyfikat SSL od Let’s Encrypt?”

  1. Krylan pisze:

    Ogromne dzięki za tę stronę. Już kiedyś próbowałem skorzystać z Let’s Encrypt, ale od strony dostawcy hostingu nie było łatwo, a ten Certbot i jego obsługa chyba mnie wtedy przerosła. A przez narastającą niechęć Chrome’a do stron bez SSL i coraz bardziej potrzebnych korzyści płynących z posiadania takiego certyfikatu, dobrze, że coś takiego się znalazło. Chwila moment i udało mi się wszystko zrobić.

  2. Adrian pisze:

    Bardzo schludnie napisany poradnik, dzięki, z takim poradnikiem zainstalowanie SSL przyszło mi łatwo :)

  3. p3p pisze:

    Super opis – działa pysznie – dzięki, nie cale 5 min roboty – jeszcze raz dzięki za opis – teraz zostaje tylko zautomatyzować to jakoś

  4. Krzysztof pisze:

    Potkałem pewien problem po wgraniu plików na serwer i próbie weryfikacji otrzymuję komunikat z błędem. Wiecie co mam poprawić? Treść komunikatu:

    Invalid response from http://moja-domena.pl/.well-known/acme-challenge/HFs6RT1ULgfS8TXVICOywLfr9BzbwkW-6MDEDLMvt9k: <link rel="profile"

  5. GOLDWEB pisze:

    Na szczęście coraz więcej hostingów oferuje LE za free :)

  6. Rafał pisze:

    Witam niestety coś robię zle .Po utworzeniu katalogów well-known potem w nim acme-challenge i wkleiłem plik kontrolny na końcu.Ale wyskakuje mi błąd „some domains have failed”.
    Może problem leży w darmowym serwerze a domenie gdzie indziej.
    Mam też pytanie gdzie mam ustawić odpowiedni nagłówek TXT.Przy weryfikacji Dns.

  7. radek pisze:

    Nie działa w ogóle ten poradnik {„status”:1,”errors”:[„Http Error”],”params”:[]}

  8. Przemo pisze:

    nie działa wyskakuje ten komunikat:

    Ta witryna nie jest bezpieczna

    Może to oznaczać, że ktoś próbuje Cię oszukać lub ukraść informacje wysyłane przez Ciebie na serwer. Zamknij tę witrynę natychmiast.

    Przejdź do strony początkowej
    Szczegóły
    Nazwa hosta w certyfikacie zabezpieczeń witryny internetowej jest inna niż nazwa witryny internetowej, którą próbujesz odwiedzić.
    Kod błędu: DLG_FLAGS_SEC_CERT_CN_INVALID

  9. Darteye pisze:

    Mogę pomóc jak ktoś ma problemy z weryfikacją przez DNS, kliknij w moją nazwę i wyślij zapytanie przez stronę, odpisze tego samego dnia

  10. Andrzej pisze:

    Ja zamówiłem SSL tutaj bezpłatnie https://www.agendo.pl/ssl musiałem się pobawić z wpisem do DNS ale bez problemu wygenerowało.

  11. Andrzej pisze:

    Tylko okazuje się że zerossl jest bezpłatnie tylko na 90 dni i nie można przedłużyć bezpłatnie…

  12. Marcin pisze:

    Ale to proste… Wildcard dla mojej domeny wygenerował się bez problemu. Thx za wskazówkę

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *