Удаляем Let’s Encrypt сертификаты в Windows
Если вы используете на хосте Windows бесплатные сертификатов Let’s Encrypt и решили переключиться на другой CA (собственный или коммерческий), нужно выполнить ряд шагов по отзыву старых сертификатов Let’s Encrypt и очистки их следов в Windows.
Ранее мы показывали, как с помощью клиента WACS в Windows настроить автоматический выпуск и продление сертификатов Let’s Encrypt для защиты подключений к веб-сайтам или службам RDS. Если вы использовали консольный клиент WACS для выпуска и установки сертификата Let’s Encrypt, для его корректного удаления нужно выполнять ряд действий:
- Удалить задание планировщика для автоматического продления сертификата
- Отозвать старый сертификат Let’S Encrypt (или оставить его как есть, чтобы срок действия его истек автоматически)
- Отключить использование сертификата Let’S в настройках веб сайта IIS или службах RDS
- Удалить клиент WACS и связанные файлы
- Очистить каталог C:ProgramDatawin-acme
При установке сертификата Let’s Encrypt, утилита wacs автоматически создает задание планировщика, которое по расписанию проверяет срок действия сертификата и продляет его.
- Откройте планировщик задач Windows Task Sheduler (
taskschd.msc
) и найдите в нем задание продления сертификата. По умолчанию оно называется win-acme renew (acme-v02.api.letsencrypt.org). - В свойствах задания на вкладке Actions можно найти путь к каталогу с исполняемым файлом клиента wacs.exe (в нашем примере это C:pswacs).
- Отключите (или удалите) задание планировщика.
Если в Windows установлено и используется несколько сертификатов Let’S encrypt с автопродлением, можно отключить продление только для определенного сертификата. Вывести все задания продления сертификатов:
.wacs.exe --list
Отключить обновление определенного сертификата можно по
--friendlyname
или
--id
:
.wacs.exe --cancel --friendlyname "[Manual] 123356.winitpro.ru"
Чтобы отозвать выпущенный сертификат Let’s Encrypt выполните команду:
.wacs.exe --revoke --friendlyname "[Manual] 123356.winitpro.ru"
Теперь нужно отвязать сертификат в настройках сайта IIS.
- Откройте консоль управления IIS (
inetmgr
). - Перейдите в настройки Site Bindings сайта IIS и выберите для сайта другой сертификат вместо Let’s Encrypt.
- Перейдите в раздел Server Certificates в настройках IIS и удалите сертификат Let’s Encrypt. Это также удаляет сертификат из локального хранилища сертификатов.
Либо вы можете удалить сертификат из локального хранилища вручную. Чтобы вывести все сертификаты Let’s Encrypt, установленные в хранилище, выполните PowerShell команду:
dir cert: -Recurse|Where-Object { $_.Issuer -like "*Let's Encrypt*" }|select FriendlyName,Subject,NotBefore,NotAfter,PSParentPath,thumbprint
Команда выведет имя, отпечаток, дату выпуска и срок действия установленных сертификатов Let’s Encrypt.
В данном примере есть два сертификата, установленные в хранилище
LocalMachineWebHosting
.
Откройте консоль хранилища сертификатов компьютера (
certlm.msc
), разверните раздел Web Hosting -> Certificates и удалите сертификаты Let’s Encrypt.
Затем удалите следующие папки
- Каталог с клиентом WAСS (в нашем примере
C:PSwacs
, как мы выяснили в настройках задания планировщика) - Папку с данными
C:ProgramDatawin-acme
(здесь хранятся файлы сертификатов, закрытые ключи, конфигурационные файлы, логи).
Перезапустите веб сервер IIS:
iisreset
Windows Server 2022
Удаляем Let’s Encrypt сертификаты в Windows