Создание сертификата «Let’s Encrypt» на Windows
Криптографические сертификаты служат цифровым аналогом удостоверения сайта, что позволяет шифровать подключения с использованием протокола TLS и тем самым обеспечивать безопасное соединение между сервером и клиентом.
Существуют как платные, так и бесплатные центры сертификации. Одним из бесплатных центров является Let's Encrypt, который выдаёт сертификаты сроком на 90 дней с возможностью продления в автоматическом режиме.
Для пользователей TrueConf Server наличие TLS сертификата необходимо для:
- участия в конференциях через WebRTC-приложение в браузерах;
входа в личный кабинет;
возможности планировать конференции через приложение;
отображения в приложении разделов опросов и стенограмм;
- синхронизации TrueConf Server с Active Directory.
Помимо TrueConf Server имеются другие решения Труконф, которые могут потребовать установки TLS-сертификата. Т.к. они устанавливаются только на Linux, то читайте описание работы с ними в отдельной статье.
Шаг 1: Подготовка
Предварительно необходимо остановить веб-службу TrueConf Server, для этого в командной строке выполните команду:
sc stop TrueConfWebManagerДля создания TLS сертификата на Windows скачайте программу simple-acme. Далее следуйте инструкции:
Распакуйте скачанный архив в удобную для вас папку, например в C:\simple-acme.
В этой же папке создайте каталог crt.

- В брандмауэре Windows откройте Дополнительные параметры → Правила для входящих подключений → Создать правило → Для порта, в поле Определённые локальные порты впишите через запятую порты 80 и 443 и нажмите Далее. Затем выберите пункт Разрешить подключение, снова нажмите Далее, укажите для каких профилей будет применяться правило (по умолчанию для всех) и после нажатия кнопки Далее сохраните правило под любым именем.
Шаг 2: Создание сертификата
Откройте командную строку от имени администратора и запустите утилиту с помощью команды:
C:\simple-acme\wacs.exeДалее поочерёдно выполните следующие команды, вводя в терминале буквы или цифры, соответствующие нужным пунктам. Например, для выполнения команды Create certificate (full options) надо будет ввести m и нажать Enter:
Начните создавать сертификат с ручным указанием параметров, для чего выберите Create certificate (full options), затем Manually enter host names.
Укажите ваше доменное имя и два раза нажмите Enter для подтверждения.
При желании вы можете создать отдельные сертификаты для поддоменов или хостов. В нашем примере выберем Single certificate.
Затем выберите:

[http] Let simple-acme answer HTTP validation request;
Generate an RSA public/private key pair;
Create PEM encoded files (for Apache, nginx, etc.);
Укажите папку для сохранения сертификатов, например, C:\simple-acme\crt.

Вам будет предложено установить пароль для приватного ключа, выберите None;
После этого выберите:
No (additional) store steps;
No (additional) installation steps.
В следующем пункте выберите classic: https://letsencrypt.org/docs/profiles#classic

На дополнительные вопросы отвечайте следующим образом:
на вопрос Open in default application? введите n;
на вопрос Do you agree with terms? введите y.
Укажите адрес электронной почты для уведомлений об ошибках.
После этого при удачном создании сертификата вы увидите надпись Authorization result: valid. На вопрос Do you want to specify the user the task will run as? введите n.
Если для указанного доменного имени ранее уже генерировался сертификат, вы увидите соответствующее сообщение в строке Existing renewal с указанием даты окончания действия. Вы можете создать его заново, указав y в ответ на вопрос Overwrite settings?.
В папке C:\simple-acme\crt сгенерируются 3 файла:
имя_домена-crt.pem — сам сертификат;
имя_домена-key.key — файл ключа;
имя_домена-chain.pem — цепочка доверия, включает корневой и промежуточный сертификаты Let's Encrypt.
Теперь вы можете использовать их в TrueConf Server, как показано в нашей статье.
Шаг 3: Настройка автообновления сертификатов
После успешного получения сертификата утилита simple-acme автоматически добавляет задачу на проверку сертификата в системный планировщик задач Windows. Нужно обязательно отредактировать эту задачу чтобы после обновления сертификата файлы копировались в директорию TrueConf Server. Также можно добавить автоматический перезапуск веб-службы TrueConf Server после обновления сертификата. По умолчанию вам самим вручную надо будет перезапустить службу после обновления сертификата.
Нажмите Win + R и введите taskschd.msc, нажмите Enter. В открывшемся окне перейдите в пункт Библиотека планировщика заданий.
Для редактирования автоматически созданной задачи:
В главном окне найдите задачу simple-acme-renew.
В боковом меню справа нажмите Свойства.
Обязательно создайте действие для копирования файлов сертификата в директорию TrueConf Server:
Перейдите во вкладку Действие и нажмите Создать.
В выпадающем списке выберите Запуск программы, затем настройте параметры:
В поле Программа или сценарий введите
Powershell.exe.В поле Добавить аргументы введите:
-NoProfile -WindowStyle Hidden -Command “Copy-Item -Force C:\simple-acme\crt\cert.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.crt'; Copy-Item -Force C:\simple-acme\crt\privkey.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.key'”где:
-NoProfile- запрет на загрузку профилей PowerShell, нужно для большей стабильности выполнения команды;-WindowStyle Hidden- запуск PowerShell в скрытом окне;-Command- команда для PowerShell, внутри кавычек можно перечислять несколько команд, разделяя их точкой с запятой;Copy-Item -Force C:\simple-acme\crt\cert.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.crt'- копирование и переименование файла сертификата в директорию сервера;Copy-Item -Force C:\simple-acme\crt\privkey.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.key'- копирование и переименование файла приватного ключа в директорию сервера.Затем нажмите ОК.
При необходимости измените:
Описание во вкладке Общие.
Время и частоту срабатывания во вкладке Триггеры.
Другие параметры в оставшихся вкладках.
Если этого по какой-либо причине задача на обновление сертификата не создалась вы можете сделать это вручную, для этого:
В боковом меню справа нажмите Создать простую задачу.
Заполните поля в открывшемся окне: Имя, например, simple-acme-renew. Добавьте Описание если необходимо, нажмите Далее.
В пункте Триггер выберите вариант ежедневно и перейдите в следующий пункт.
Перейдя в пункт Действие выберите вариант Запустить программу, затем настройте параметры:
В поле Программа или сценарий введите директорию к исполняемому файлу утилиты, например
C:\simple-acme\wacs.exe.В поле Добавить аргументы введите:
--renew --baseuri “https://acme-v02.api.letsencrypt.org/”где:
--renew- запуск процесса обновления для всех задач, у которых подходит срок;--baseuri- указание simple-acme какой сервер использовать;“https://acme-v02.api.letsencrypt.org/”- основной рабочий сервер Let's Encrypt.В пункте Завершение проверьте настроенную задачу и нажмите Готово.
В дополнение к этому добавьте действие на копирование файлов сертификата в директорию TrueConf Server:
Выберите задачу simple-acme-renew, нажмите на Свойства на боковой панели справа.
Перейдите во вкладку Действие и нажмите Создать.
В выпадающем списке выберите Запуск программы, затем настройте параметры:
В поле Программа или сценарий введите
Powershell.exe.В поле Добавить аргументы введите:
-NoProfile -WindowStyle Hidden -Command “Copy-Item -Force C:\simple-acme\crt\cert.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.crt'; Copy-Item -Force C:\simple-acme\crt\privkey.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.key'”где:
-NoProfile- запрет на загрузку профилей PowerShell, нужно для большей стабильности выполнения команды;-WindowStyle Hidden- запуск PowerShell в скрытом окне;-Command- команда для PowerShell, внутри кавычек можно перечислять несколько команд, разделяя их точкой с запятой;Copy-Item -Force C:\simple-acme\crt\cert.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.crt'- копирование и переименование файла сертификата в директорию сервера;Copy-Item -Force C:\simple-acme\crt\privkey.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.key'- копирование и переименование файла приватного ключа в директорию сервера.Затем нажмите ОК.
Можно добавить удобства дополнив в аргументы задачи команду на перезапуск службы TrueConfWebManager Restart-Service TrueConfWebManager, рекомендуем выбрать для этого время когда сервер почти не используется :
В главном окне найдите задачу simple-acme-renew.
В боковом меню справа нажмите Свойства.
Перейдите во вкладку Действие, выберите созданное ранее действие и нажмите Изменить.
В поле Добавить аргументы введите:
-NoProfile -WindowStyle Hidden -Command “Copy-Item -Force C:\simple-acme\crt\cert.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.crt'; Copy-Item -Force C:\simple-acme\crt\privkey.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.key'; Restart-Service TrueConfWebManager”где:
-NoProfile- запрет на загрузку профилей PowerShell, нужно для большей стабильности выполнения команды;-WindowStyle Hidden- запуск PowerShell в скрытом окне;-Command- команда для PowerShell, внутри кавычек можно перечислять несколько команд, разделяя их точкой с запятой;Copy-Item -Force C:\simple-acme\crt\cert.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.crt'- копирование и переименование файла сертификата в директорию сервера;Copy-Item -Force C:\simple-acme\crt\privkey.pem 'C:\Program Files\TrueConf Server\httpconf\ssl\custom.key'- копирование и переименование файла приватного ключа в директорию сервера;Restart-Service TrueConfWebManager- перезапуск службы для применения изменений.Затем нажмите ОК.