Оказалось все достаточно просто. Копируем последнюю версию с https://github.com/Lone-Coder/letsencrypt-win-simple/releases, распаковываем и запускаем letsencrypt.exe с правами администратора.

После запуска утилита найдет все сайты на IIS и предложит сгенерировать сертификаты для них или предложит выполнить генерацию вручную.

Что делает утилита:

  • Генерирует файл ответа в дериктории сайта.

Например:

C:\inetpub\wwwroot\.well-known\acme-challenge\{token}

Примечание. В файле web.config должны быть разрешены все расширения файлов. Утилита попытается сделать это сама во время автоматической установки.

Пример web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".*" mimeType="text/json" />
        </staticContent>
        <handlers>
            <clear />
            <add name="StaticFile" path="*" verb="*" type="" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" scriptProcessor="" resourceType="Either" requireAccess="Read" allowPathInfo="false" preCondition="" responseBufferLimit="4194304" />
        </handlers>
    </system.webServer>
</configuration>
  • Запрашивает сертификат с сайта LetsEncrypt, который обращается к файлу ответа.
  • Если файл ответа существует, тогда сгенерированный сертифика сохраняется в дериктории C:\Users\{username}\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\
  • Затем через оснастку "Диспетчер служб IIS" привязывается к нужному сайту
  • Пожеланию создается задача в "Планировщике заданий" для обновления сертификата

Команда обновления:

letsencrypt.exe --renew --baseuri "https://acme-v01.api.letsencrypt.org/"

В реестре HKEY_CURRENT_USER\Software\letsencrypt-win-simple\https://acme-v01.api.letsencrypt.org/\Renewals сохраняются даты и привязки сертификатов.

Ссылки