Windows ACME Simple (WACS)
A simple ACME client for Windows — for use with Let’s Encrypt. (Formerly known as letsencrypt-win-simple (LEWS))
Overview
Please check our website for an up-to-date overview, documentation and downloads.
Community support
If you run into trouble you can open an issue. First please check to see if your issue is covered in the manual or reference. If you can’t find a solition that way, describe the exact steps that you are taking and try to provide as much relevant information as possible, preferably including logging.
Professional support / sponsorship
Is your business relying on this program to secure customer websites and perhaps even critical infrastructure? Then maybe it would be good for your peace of mind then to sponsor one of its core developers, to gain guaranteed future support and good karma at the same time. I offer my help quickly, discreetly and professionally via Patreon.
Donations
Do you like the program and want to buy me a beer and discuss the future of the program in private? My Patreon also has some simple «Thank you» tiers, or if you prefer to do a one-time donation you can use Paypal.
Last updated:
| See all Documentation
Let’s Encrypt uses the ACME protocol to verify that you control a given domain
name and to issue you a certificate. To get a Let’s Encrypt certificate, you’ll
need to choose a piece of ACME client software to use.
The ACME clients below are offered by third parties. Let’s Encrypt does not control or review
third party clients and cannot make any guarantees about their safety or reliability.
Some in-browser ACME clients are available, but we do not list them here because
they encourage a manual renewal workflow that results in a poor user experience
and increases the risk of missed renewals.
Recommended: Certbot
We recommend that most people start with the Certbot client. It can simply get a cert for you or also help you install, depending on what you prefer. It’s easy to use, works on many operating systems, and has great documentation.
If Certbot does not meet your needs, or you’d simply like to try something else, there are many more clients to choose from below, grouped by the language or environment they run in.
Other Client Options
All of the following clients support the ACMEv2 API (RFC 8555). In June 2021 we phased out support for ACMEv1. If you’re already using one of the clients below, make sure to upgrade to the latest version. If the client you’re using isn’t listed below it may not support ACMEv2, in which case we recommend contacting the project maintainers or switching to another client.
Bash
-
GetSSL
(bash, also automates certs on remote hosts via ssh)
-
acme.sh
(Compatible to bash, dash and sh)
-
dehydrated
(Compatible to bash and zsh)
-
ght-acme.sh
(batch update of http-01 and dns-01 challenges is available)
-
bacme
(simple yet complete scripting of certificate generation)
-
wdfcert.sh
(Only supports DNS-01 challenges and ECDSA-384 bit keys for both accounts and certificates, native Joker DNS support including wildcard plus root domain support for single-TXT-record DNS providers)
C
- OpenBSD acme-client
- uacme
- acme-client-portable
-
Apache httpd
Support via the module mod_md.
-
mod_md
Separate, more frequent releases of the Apache module.
-
CycloneACME
(client implementation of ACME dedicated to microcontrollers)
C++
- acme-lw
-
esp32-acme-client
allows IoT devices to get certificates
Clojure
- certificaat
- Ansible acme_certificate module
- Terraform ACME Provider
-
Ansible collection: acme
(ACME V2 integration with acme_certificate module. Supports multiple providers for challenges)
D
- acme-lw-d
Domino
-
CertMatica
(ACME certificate installation and renewals for HCL Domino™ servers)
-
HCL Domino
(Full ACME V2 flow integration for HCL Domino™ servers)
Docker
- Crypt::LE
- acme.sh
- letsproxy
Go
- Caddy
- Lego
- acmetool
-
Lets-proxy2
(Reverse proxy to handle https/tls)
- autocert
- Traefik
- ACMEz
- Step CLI
-
J8a
(Reverse proxy for JSON APIs with auto-renewing TLS 1.3)
-
certmanager
(Supports certificate sharing across instances/pods and split-horizon DNS with acme-proxy)
Java
- PJAC
- ManageEngine Key Manager Plus
Kubernetes
- cert-manager
- KCert
Lua
-
Mako Server’s ACME Plugin
The plugin’s main objective is to provide certificates for servers on private networks.
Microsoft Azure
-
Azure WebApp SSL Manager
(Serverless, Compatible with any App Service, requires Azure DNS)
-
App Service Acmebot
(Compatible to Azure Web Apps / Functions / Web App for Containers)
-
Key Vault Acmebot
(Work with Azure Key Vault Certificates)
-
Az-Acme
(The simplest ACME Issuer for Azure Key Vault)
nginx
-
njs-acme
JavaScript library compatible with the ’ngx_http_js_module’ runtime (NJS), allows for the automatic issue of TLS/SSL certificates for NGINX without restarts
- lua-resty-auto-ssl
- Nginx ACME
-
docker-openresty
An Openresty image with auto ssl, using acme.sh
-
docker-nginx
An Nginx image with auto ssl, using acme.sh
- lua-resty-acme
Node.js
- Greenlock for Express.js
-
acme-http-01-azure-key-vault-middleware
(Express middleware for storing certificates securely on Azure Key Vault)
OpenShift
- openshift-acme
- certman-operator
Perl
-
acme
(Simple json config, autogen keys, issue cert, refresh cert, apache/nginx integration)
- Crypt::LE
PHP
- kelunik/acme-client
- FreeSSL.tech Auto
- Yet another ACME client
- itr-acme-client PHP library
- Acme PHP
- RW ACME client
Python
- ACME Tiny
- simp_le
- acmebot
- sewer
-
acme-dns-tiny
(Python 3)
-
Automatoes
ACME V2 ManuaLE replacement with new features
- acertmgr
- acme-cert-tool
-
serverPKI
PKI for internet server infrastructure, supporting distribution of certs, FreeBSD jails, DNS DANE support
-
acmetk
acmetk is an ACMEv2 proxy to centralize certificate requests and challenges within an organisation and direct them using a single account to Let’s Encrypt or other ACMEv2 capable CA’s.
Ruby
- unixcharles/acme-client
- acme-distributed
- Combine-acme: Generate and upload crt to CloudFlare(enterprise) and GCP.
Rust
- ACMEd
- acme-redirect
Windows / IIS
- Crypt::LE (previously ZeroSSL project)
-
win-acme
(.NET)
-
Posh-ACME
(PowerShell)
- Certes
-
ACME-PS
(PowerShell)
-
kelunik/acme-client
(PHP)
- Certify The Web (Windows)
- WinCertes Windows client
-
GetCert2
(simple GUI — .Net, C#, WPF, WCF)
-
TekCERT
(GUI, CLI)
Server
-
Certera
(Crossplatform PKI to centrally manage keys and certificates)
Libraries
4D
-
acme component
ACME Client v2 for 4D v18+
C++
- acme-lw
-
esp32-acme-client
allows IoT devices to get certificates
D
- acme-lw-d
Delphi
-
DelphiACME
(Embarcadero Delphi)
Go
- Lego
- acmetool
- eggsampler/acme
- ACMEz
-
certmanager
(Supports certificate sharing across instances/pods and split-horizon DNS with acme-proxy)
Java
- ACME4J
.NET
-
Certes
(.NET Standard)
-
PKISharp/ACMESharpCore
(.NET Standard)
Node.js
- Greenlock for node.js
- publishlab/node-acme-client
Perl
-
acme
(Simple json config, autogen keys, issue cert, refresh cert, apache/nginx integration)
- Crypt::LE
- Net::ACME2
-
wdfcert.sh
(Only supports DNS-01 challenges and ECDSA-384 bit keys for both accounts and certificates, native Joker DNS support including wildcard plus root domain support for single-TXT-record DNS providers)
PHP
- kelunik/acme
- ACMECert PHP library
- LEClient PHP library
- le-acme2-php library
- stonemax/acme2 PHP client
- Acme PHP Library
Python
- The Python acme module is part of Certbot, but is also used by a number of other clients and is available as a standalone package via PyPI, Debian, Ubuntu, Fedora and other distributions.
-
txacme
(Twisted client for Python 2 / 3)
Ruby
- unixcharles/acme-client
Rust
-
instant-acme
is an async, pure-Rust ACME (RFC 8555) client which relies on Tokio
-
rustls-acme
provides TLS certificate management and serving using rustls
-
tokio-rustls-acme
is an easy-to-use, async ACME client library for rustls
Projects integrating with Let’s Encrypt
- Aegir
- Aerys
- Apache HTTP Server
- ApisCP
- Caddy
- CentminMod LEMP Stack
- Certhub
- Cloudfleet
- Cloudron
- cPanel
- Froxlor Server Management Panel
- Gitlab
- ISPConfig
- LiveConfig Hosting Control Panel
- Mail-in-a-Box
- Own-Mailbox
- pfSense
- Plesk Web Hosting Control Panel
- Ponzu CMS
- ruxy
- SWAG — Secure Web Application Gateway
- Synchronet BBS System
- Vesta Control Panel
- Virtualmin Web Hosting Control Panel
- WildFly Application Server
- Zappa
- Proxmox Virtual Environment
Adding a client/project
If you know of an ACME client or a project that has integrated with Let’s Encrypt’s ACMEv2 API that is not present in the above page please submit a pull request to our website repository on GitHub, updating the data/clients.json
file.
Before submitting a pull request please make sure:
- The client respects the Let’s Encrypt trademark policy.
- The client is not browser-based and supports automatic renewals.
- The client performs routine renewals at randomized times, or encourages that configuration.
- Your commit adds your client to the end of the relevant sections (Don’t forget the “acme_v2” if appropriate!).
- Your commit updates the
lastmod
date stamp at the top ofclients.json
.
В этом обзоре мы расскажем об особенностях установки и привязки бесплатного TLS/SSL сертификата от Let’s Encrypt на хосте под управлением Windows. Будут описана процедура выпуска, продления сертификата для веб-сайта IIS, а также установка сертификата Let’s Encrypt для защиты подключений к службам RDS.
Содержание:
- Получение и установка сертификат Let’s Encrypt в IIS на Windows
- Продление (перевыпуск) сертификата Let’s Encrypt в Windows
- Перенаправление трафика IIS сайта с HTTP на HTTPS адрес
- Использование сертификата Let’s Encrypt для Remote Desktop Services
Некоммерческий центр сертификации Let’s Encrypt позволяет в автоматическом режиме через API выпускать бесплатные доверенные криптографические сертификаты X.509 для TLS-шифрования (HTTPS). Выдаются только сертификаты для валидации доменов (domain validation), со сроком действия 90 дней с возможность перевыпускать сертификат по расписанию.
API интерфейс, позволяющий автоматически выпускать сертификаты называется Automated Certificate Management Environment (ACME) API. Для Windows систем самой популярной реализации клиента ACME API является утилита Windows ACME Simple (WACS).
Получение и установка сертификат Let’s Encrypt в IIS на Windows
Для автоматизации получения SSL сертификата Let’s Encrypt в Windows можно использовать консольную утилиту Windows ACME Simple (WACS) (ранее проект назывался LetsEncrypt-Win-Simple). WACS представляет собой простой графический мастер, который позволяет выбрать сайт IIS и автоматически выпустить и привязать к нему SSL сертификат Let’s Encrypt.
Итак, у меня есть хост с Windows Server 2022, на котором развернут веб-сервер IIS и простой веб-сайт. Наша задача переключить сайт на HTTPS протокол, установив SSL сертификат от Let’s Encrypt.
Скачайте последнюю версию клиента WACS с GitHub (https://github.com/PKISharp/win-acme/releases) для вашей платформы. В нашем случае это win-acme.v2.2.9.1701.x64.pluggable.zip. Распакуйте архив в папку на диске.
Запустите утилиту
wacs.exe
с правами администратора.
Запустится интерактивный мастер генерации сертификата Let’s Encrypt и привязки его к сайту IIS. Чтобы быстро создать новый сертификат выберите
N: — Create certificate (default settings)
.
Утилита может выдать, что вебсайты не обнаружены:
No websites with host bindings have been configured in IIS. Add one in the IIS Manager or choose the plugin 'Manual input' instead. Source plugin IIS was unable to generate options
В этом случае, запустите консоль управления IIS (
inetmgr
), откройте меню Site Bindings вашего сайта и проверьте, что для сайта задано имя узла (Host Name). Подробнее об этом параметре в статье Как запустить несколько сайтов в IIS на одном порту и IP?
Выберите номер сайта, для которого нужно выпустить сертификат.
Затем нажмите
A
, чтобы выбрать все привязки сайта и
y
чтобы продолжить.
Примите условия пользовательского соглашения, нажав
y
.
Укажите email, на который будут отправляться уведомления о проблемах с обновлением сертификата сайта и другие о оповещения (можно указать несколько email через запятую).
На этом этапе веб сервисы Let’s encrypt должны проверить, что вы являетесь владельцем домена, для которого выпускается. По умолчанию используется HTTP валидация (http-01 validation, SelfHosting). Для этого на вашем хосте запускается небольшой Http Challenge Server (если этот порт занят, используется IIS), на порт 80 которого выполняется подключение (входящий HTTP 80 порт должен быть открыт в файерволе). В папку веб-сервера будет записан файл ответа
\.well-known\acme-challenge\<random_filename>
.
Если по тем или иным причинам вы не можете выполнить ACME HTTP-01 валидацию, можно использовать DNS-01 валидацию. Для этого в DNS зоне вашего домена нужно создать специальную TXT запись. Эта опция доступна, если выбрать в первом меню клиента wacs пункт M: Create certificate (full options). ACME клиент при валидации домена проверяет наличие этой записи в DNS.
Процесс генерации и установки SSL сертификата Let’s Encrypt для IIS полностью автоматизирован.
- Закрытый ключ сертификата (*.pem) и сам сертификат (*.pfx) сохраняются в каталог
C:\ProgramData\win-acme\acme-v02.api.letsencrypt.org\Certificates
- Подробные логи всех операций WACS по запросу, получению и установке сертификата в каталоге
C:\ProgramData\win-acme\acme-v02.api.letsencrypt.org\Log
Если валидация выполнена успешно, утилита получит от CA сертификат, установит его в хранилище сертификатов и назначит в качестве SSL сертификата целевого сайта IIS. Если на сайте уже установлен SSL сертификат (например, самоподписанный), он будет заменен новым.
В IIS Manager откройте меню Site Binding для вашего сайта и убедитесь, что для него используется сертификат, выданный R10, Let’s Encrypt Authority.
Сертификат Let’s Encrypt для IIS установлен в раздел Web Hosting -> Certificates хранилища сертификатов компьютера (
certlm.msc
).
Можно автоматизировать выпуск сертификата с помощью аргументов утилиты wacs.exe. Например, выпустить сертификат Let’s Encrypt со стандартными настройками для сайта можно так:
wacs.exe --target manual --host 12345.winitpro.ru --store certificatestore --validation selfhosting --siteid "TestWebSite"
Продление (перевыпуск) сертификата Let’s Encrypt в Windows
Так как сертификаты Let’s Encrypt выпускаются всего на 90 дней, их нужно периодически обновлять. При генерации нового сертификата, утилита WACS сразу создает в планировщике задач Windows задание для автоматического продления (а фактически перевыпуска) сертификата.
Откройте консоль Task Scheduler (taskschd.msc). Как вы видите, в нем появилось задание win-acme renew (acme-v02.api.letsencrypt.org), которое запускает раз в день команду проверки срока действия и обновления установленных сертификатов:
wacs.exe --renew --baseuri "https://acme-v02.api.letsencrypt.org/"
Продлить (обновить) сертификат можно спустя 60 дней после его выпуска.
Перенаправление трафика IIS сайта с HTTP на HTTPS адрес
Так как для вашего сайта теперь установлен SSL сертификат, вы можете отказаться от использования незащищенного протокола HTTP и полностью перейти на HTSSP. Все HTTP запросы к сайту можно автоматически перенаправлять на HTTPS адрес с помощью IIS модуля Microsoft URL Rewrite Module.
Подробно это описано в статье Настройка редиректа HTTP на HTTPS в IIS на Windows Server.
Использование сертификата Let’s Encrypt для Remote Desktop Services
Если для подключения внешних пользователей в корпоративную сеть вы используете шлюз Remote Desktop Gateway или RD Web Access, можете установить доверенный сертификат Let’s Encrypt вместо обычного самоподписанного сертификата. Рассмотрим, как корректно установить сертификат Let’s Encrypt для защиты служб Remote Desktop Services.
Если на Remote Desktop Gateway сервере поднята также роль RDSH, нужно запретить пользователям Read доступ к каталогу, в котором у вас хранится WACS (в моем примере это c:\ps\wacs) и к каталогу с сертификатами сертификат Let’s Encrypt (C:\ProgramData\win-acme).
С помощью wacs.exe на сервере RDGW выпустите Let’s Encrypt сертификат для Default Web Site в IIS как описано выше. Можно вручную привязать это сертификат к нужным служба RDS. Но вам придется выполнять эти действия вручную каждые 60 дней при перевыпуске сертификата Let’s Encrypt.
В проекте ACME есть готовый PowerShell скрипт для автоматического импорта Let’s Encrypt в RD Gateway (…\Scripts\ImportRDGateway.ps1). Недостаток этого скрипта – приходится вручную указывать отпечаток нового сертификата:
ImportRDGateway.ps1 <certThumbprint>
Для автоматического получения отпечатка сертификата с указанного сайта IIS используйте доработанный скрипт ImportRDGateway_Cert_From_IIS.ps1 (основан на стандартном ImportRDGateway.ps1).
Инструкция и модифицированный PowerShell скрипт присланы нашим читателем Антоном, за что посылаем ему лучи благодарности!
Вы можете запустить это скрипт вручную:
powershell -File ImportRDGateway_Cert_From_IIS.ps1
Если у вас RDS Gateway живет на стандартном IIS сайте «Default Web Site» с индексом 0, можете использовать скрипт без изменений.
Чтобы получить ID сайта в IIS, откройте консоль PowerShell и выполните:
Import-Module WebAdministration
Get-ChildItem IIS:Sites
Получите список вида:
В колонке ID указан индекс вашего сайта, отнимите от него единицу. Полученный индекс вашего сайта нужно указать вместо 0 в 27 строке скрипта PowerShell:
$NewCertThumbprint = (Get-ChildItem IIS:SSLBindings)[0].Thumbprint
Теперь откройте задание планировщика
win-acme-renew (acme-v02.api.letsencrypt.org)
и на вкладке Action добавьте новое задание, которое запускает PowerShell скрипт ImportRDGateway_Cert_From_IIS.ps1 после обновления сертификата.
Чтобы не менять разрешения на выполнение скриптов PowerShell, вы можете вызывать скрипт командой:
PowerShell.exe -ExecutionPolicy Bypass -File c:\ps\acme\scripts\ImportRDGateway_Cert_From_IIS.ps1
Теперь скрипт привязки SSL сертификата к службам RDS будет выполнятся сразу после продления сертификата Let’s Encrypt. При этом автоматически перезапускается служба RD Gateway командой:
Restart-Service TSGateway
При перезапуске службы TSGateway все текущие сессии пользователей разрываются, поэтому желательно изменить периодичность запуска задания обновления сертификата на 1 раз в 60 дней.
Страница обновлена :
Дата создания страницы :
окружающая среда
- Windows Server
-
- Windows Server 2019
- Службы IIS
-
- 10.0
- win-acme
-
- Версия 2.1.16.1
* Он работает с другими версиями, но не подтвержден.
О компании Let’s Encrypt
Чтобы зашифровать связь между серверами, если существует два типа связи между клиентом и сервером, может быть выполнено само шифрование, но невозможно доказать, прав ли другой сервер или нет.
Одним из способов решения этой проблемы является использование SSL-сертификата, полученного от стороннего центра сертификации, чтобы доказать, что другой сервер верен, но почти всегда возникают периодические расходы, связанные с использованием центра сертификации.
Вы можете получить SSL-сертификаты бесплатно, используя Let’s Encrypt, центр сертификации, поддерживаемый многими спонсорами. На этот раз мы получим SSL-сертификат от Let’s Encrypt, применим его к сайту, работающему на IIS, и настроим его для разрешения HTTPS-связи.
Следующая ссылка является официальной домашней страницей (японский).
- Давайте зашифруем
предварительное условие
- Windows Server настроен
- Вы настроили службы IIS и создали узел
- Вы приобрели домен
- Целевой сервер должен быть доступен из домена
- Возможность доступа к веб-сайтам по протоколу HTTP
- Параметры брандмауэра должны разрешать подключения через порты HTTPS (443)
В этом разделе Советы используется сайт, опубликованный программой ASP.NET Core, но не имеет значения, на каком носителе работает сайт, если у вас есть сайт IIS.
Получить Win-ACME
SSL-сертификаты всегда имеют срок действия. Поэтому SSL-сертификат необходимо периодически обновлять.
Чтобы получить SSL-сертификат от Let’s Encrypt на регулярной основе, вы можете использовать инструмент под названием win-acme для его загрузки.
- win-acme скачать
- ACME-клиент для Windows
Есть много файлов, которые вы можете скачать, но здесь мы скачаем «win-acme.v2.1.16.1037.x64.trimmed.zip».
Версии могут меняться в разное время. Для arm64, x64 и x86 x64 отлично подходит для Windows Server.
Извлеките содержимое из ZIP-файла и извлеките его в папку по вашему выбору на Windows Server. Инструмент используется только для настройки, поэтому он может быть где угодно.
Пожалуйста, поместите его в место, где программа может быть выполнена.
Настройка IIS
Перед использованием win-acme требуется предварительная настройка на стороне IIS.
После открытия диспетчера IIS выберите сайты, к которым требуется получить доступ по протоколу HTTPS, а затем нажмите кнопку Привязать в правом меню.
Выберите порт 80 и нажмите кнопку Изменить.
Введите полученное доменное имя в имя хоста. Если вы хотите получить доступ только к поддоменам, вы можете ввести поддомены.
Запуск Win-ACME
Win-acme может изменить выбор в зависимости от версии, поэтому, если вы используете другую версию, пожалуйста, поймите разницу.
Запустите «wacs.exe» с «правами администратора» из извлеченного файла.
Так как это новое творение, введите «N».
Отображается список имен сайтов, поэтому введите номер целевого сайта.
Если нет особых обстоятельств, «А» в порядке.
Введите «y» для подтверждения.
«Условия предоставления услуг» находятся в следующей папке, поэтому введите «y», чтобы прочитать его.
Однако в Windows Server нет стандартного приложения PDF, поэтому лучше скопировать PDF-файл из папки и прочитать его.
Если вы согласны, введите y.
Если вы хотите получать уведомления, такие как проблемы с Let’s Encrypt, введите свой адрес электронной почты. Нет никаких проблем, даже если вы не вставляете его.
Затем программа установки запустится и завершится, если ошибки не отображаются. Экран нормально закрывается.
При открытии сертификатов сервера из IIS можно увидеть, что сертификат добавлен.
Сертификаты действительны в течение 90 дней.
Вы можете убедиться, что автоматическое обновление сертификата зарегистрировано в планировщике заданий.
При просмотре привязок сайта из диспетчера IIS можно увидеть, что привязки HTTPS создаются автоматически.
Убедившись, что у вас есть доступ к веб-сайту, вы можете удалить его, если вам не нужен доступ по протоколу HTTP.
подтверждение
Убедитесь, что вы можете подключаться по протоколу HTTPS при доступе с помощью «https:// доменного имени» во внешнем веб-браузере.
Сертификат можно проверить, щелкнув значок замка в адресной строке.
Сегодня уже очень сложной обойтись без сертификатов. Какие-то сервисы или веб-сайты еще могут работать как без сертификатов, так и с ним. Однако, есть сервисы, которые уже не могут работать без сертификатов. Если для “боевого” сервиса часто покупается коммерческий сертификат как минимум на год, то для демонстрационных или тестовых стендов отдельный коммерческий сертификат покупается редко. Выпуск бесплатного сертификата Let’s Encrypt может быть очень к месту в таких ситуациях.
Let’s Encrypt – это центр сертификации, который занимается выдачей бесплатных сертификатов. Срок действия сертификата – 3 месяца. Поддерживается выпуск как широкоименных (wildcard), так и именных сертификатов, в т.ч. с несколькими именами (через атрибут SAN).
Выпуск бесплатного сертификата Let’s Encrypt возможен через любой клиент, который поддерживает ACME протокол. Существует большое количество таких клиентов практически под любую платформу и ситуацию. При определенной настройке можно автоматизировать процесс выпуска сертификата, т.е. вам не придётся продлять его каждый раз руками.
Мы рассмотрим выпуск бесплатного сертификата Let’s Encrypt через win-acme клиент. Лично мне довольно часто приходится использовать этот клиент для выпуска сертификатов на тестовые или отладочные стенды Exchange, Skype for Business, AD FS и ряд других сервисов.
Кстати, сертификат для веб-сервера этого блога также от Let’s Encrypt 🙂
Выпуск сертификата через win-acme клиент
Как мы говорили выше мы будем использовать win-acme клиент для выпуска сертификата. Сертификат мы будем выпускать в PFX-формате, чтобы его было удобнее импортировать в хранилище сертификатов Windows. Этот клиент также поддерживает выпуск сертификатов в формате с раздельными файлами для закрытого ключа и сертификата.
Мы будем выпускать wildcard сертификат для следующего имени – *.itproblog.ru
Для выпуска бесплатного сертификата Let’s Encrypt через win-acme клиент необходимо выполнить следующие шаги:
1. Загрузить клиент с сайта разработчика.
2. Распаковать загруженный архив:
3. Запустить cmd.exe от имени администратора, перейти в распакованную в п. 2 директорию и выполнить команду:
wacs.exe
Появится приветствие win-acme клиента:
4. Укажем, что мы хотим выпустить сертификат и при этом не использовать настройки по умолчанию, а указать те настройки, которые необходимы нам:
5. Укажем, что мы вручную перечислим необходимые нам имена:
6. Теперь нам необходимо указать имя, для которого мы планируем выпустить сертификат. Если необходимо указать несколько имен, то нужно указать их через запятую.
7. Клиент попросит указать дружественное имя сертификата, т.е. имя, которое будет отображаться при импорте в хранилище сертификатов Windows. Можем указать свое имя, либо оставить имя по умолчанию.
8. Теперь нам необходимо подтвердить право владения доменом. Это можно сделать несколькими способами. Мы укажем, что вручную создадим необходимые DNS записи:
9. Мы будем использовать RSA ключи:
10. Нам будет нужен сертификат в PFX формате – укажем это:
11. Укажем директорию для генерируемого PFX файла и пароль к нему:
12. Мы не планируем куда-то еще записывать наш сертификат:
13. Необходимые изменения в конфигурацию наших приложений мы внесем самостоятельно вручную. Укажем это:
14. Теперь нам необходимо создать запись в нашей DNS зоне для того, чтобы подтвердить право владения доменом. Параметры DNS записи нам генерирует win-acme клиент:
15. Процедура регистрация TXT записи для каждого хостера вашей зоны своя. В нашем случае уже добавленная запись выглядит следующим образом:
16. Теперь вернемся в наш win-acme клиент и нажмем Enter. После удачной проверки записи клиент попросит нас удалить её:
17. После этого win-acme клиент сгенерируют сертификат в форме PFX, о чем напишет нам в консоль:
18. Клиент теперь можно закрыть, а в директории, которую мы указывали для генерации сертификата мы должны увидеть итоговый PDF-файл:
Выпуск бесплатного сертификата Let’s Encrypt через win-acme клиент выполнен.
Заключение
В данной публикации было кратко рассказано об одном из методов, который можно использовать для выпуска бесплатного сертификата. Мы рассмотрели процесс выпуска бесплатного сертификата Let’s Encrypt через win-acme клиент.