Appearance
Настройка сертификатов
Настройка сертификатов вручную
Для настройки сертификатов вручную необходимо:
- Перейти в веб-консоль администрирования CommuniGate Pro
http://yourdomain.ru:8010/http://yourdomain.ru:8010/- Перейти в раздел управления сертификатами
Users → Domains → yourdomain.ru → Security → SSL/TLS - Добавить Private Key для домена
- Добавить сертификат в формате PEM. После успешного добавления сертификата в строке
Encryption TestблокаPrivate keyдолжна появиться надписьVerification String is OK. - Добавить цепочку сертификатов в формате PEM (при необходимости).
Автоматическое добавление сертификатов Let's Encrypt
Предварительные требования
Для работы необходимо провести предварительные работы:
- Выпустить сертификат в Let's Encrypt. Документация по работе с Let's Encrypt. После выпуска сертификата должно сгенерироваться три файла:
- файл приватного ключа в формате PEM
- файл сертификата в формате PEM
- файл с цепочкой УЦ в формате PEM
- Активировать возможность работы с CLI в CommuniGate Pro
- Перейти в раздел
Settings → Services → HTTPU - В блоке
Sub-ProtocolsпараметруCLIустановить значениеclients - Затем нажать ниже копку
Update
Добавление сертифката в CommuniGate Pro
Добавление и обновление сертфиката необходимо настроить через скрипт .sh (можно добавить вызов скрипта по расписанию)
shell
#!/bin/bash
# параметры запуска
DOMAIN_NAME=yourdomain.ru
POSTMASTER_NAME=postmaster@${DOMAIN_NAME}
POSTMASTER_PASSWORD=YOURPASSWORD
IP_CGP_SERVER=127.0.0.1
# файл ключа
LETS_ENCRYPT_KEY=/etc/letsencrypt/live/${DOMAIN_NAME}/privkey.pem
# файл сертификата
LETS_ENCRYPT_CRT=/etc/letsencrypt/archive/${DOMAIN_NAME}/cert.pem
# файл цепочки
LETS_ENCRYPT_CHAIN_CRT=/etc/letsencrypt/live/${DOMAIN_NAME}/fullchain.pem
# Готовим ключ для загрузки
echo "[INFO]: start prepare key"
private_secure_key=`openssl rsa -in ${LETS_ENCRYPT_KEY} 2> /dev/null | grep -v '\-\-' | tr -d '\n'`
# Добавляем ключ в CommuniGate Pro
echo "[INFO]: start add key"
curl -u ${POSTMASTER_NAME}:${POSTMASTER_PASSWORD} -k "http://${IP_CGP_SERVER}:8100/cli/" \
--data-urlencode "command=updatedomainsettings ${DOMAIN_NAME} \
{PrivateSecureKey=[${private_secure_key}];}"
# Готовим сертификат для загрузки
echo "[INFO]: start prepare cert"
secure_sertificate=`cat ${LETS_ENCRYPT_CRT=} | grep -v '\-\-' | tr -d '\n'`
# Добавляем сертификат в CommuniGate Pro
echo "[INFO]: start add cert"
curl -u ${POSTMASTER_NAME}:${POSTMASTER_PASSWORD} -k "http://${IP_CGP_SERVER}:8100/cli/" \
--data-urlencode "command=updatedomainsettings ${DOMAIN_NAME} \
{SecureCertificate=[${secure_sertificate}];}"
# Готовим цепочку для загрузки
echo "[INFO]: start prepare chain"
LETS_ENCRYPT_CHAIN_CRT=`grep -v '\-\-' ${LETS_ENCRYPT_CHAIN_CRT} | tr -d '\n'`
# Добавляем цепочку в CommuniGate Pro
echo "[INFO]: start add chain"
curl -u ${POSTMASTER_NAME}:${POSTMASTER_PASSWORD} -k "http://${IP_CGP_SERVER}:8100/cli/" \
--data-urlencode "command=updatedomainsettings ${DOMAIN_NAME} \
{CAChain=[${LETS_ENCRYPT_CHAIN_CRT}];}"#!/bin/bash
# параметры запуска
DOMAIN_NAME=yourdomain.ru
POSTMASTER_NAME=postmaster@${DOMAIN_NAME}
POSTMASTER_PASSWORD=YOURPASSWORD
IP_CGP_SERVER=127.0.0.1
# файл ключа
LETS_ENCRYPT_KEY=/etc/letsencrypt/live/${DOMAIN_NAME}/privkey.pem
# файл сертификата
LETS_ENCRYPT_CRT=/etc/letsencrypt/archive/${DOMAIN_NAME}/cert.pem
# файл цепочки
LETS_ENCRYPT_CHAIN_CRT=/etc/letsencrypt/live/${DOMAIN_NAME}/fullchain.pem
# Готовим ключ для загрузки
echo "[INFO]: start prepare key"
private_secure_key=`openssl rsa -in ${LETS_ENCRYPT_KEY} 2> /dev/null | grep -v '\-\-' | tr -d '\n'`
# Добавляем ключ в CommuniGate Pro
echo "[INFO]: start add key"
curl -u ${POSTMASTER_NAME}:${POSTMASTER_PASSWORD} -k "http://${IP_CGP_SERVER}:8100/cli/" \
--data-urlencode "command=updatedomainsettings ${DOMAIN_NAME} \
{PrivateSecureKey=[${private_secure_key}];}"
# Готовим сертификат для загрузки
echo "[INFO]: start prepare cert"
secure_sertificate=`cat ${LETS_ENCRYPT_CRT=} | grep -v '\-\-' | tr -d '\n'`
# Добавляем сертификат в CommuniGate Pro
echo "[INFO]: start add cert"
curl -u ${POSTMASTER_NAME}:${POSTMASTER_PASSWORD} -k "http://${IP_CGP_SERVER}:8100/cli/" \
--data-urlencode "command=updatedomainsettings ${DOMAIN_NAME} \
{SecureCertificate=[${secure_sertificate}];}"
# Готовим цепочку для загрузки
echo "[INFO]: start prepare chain"
LETS_ENCRYPT_CHAIN_CRT=`grep -v '\-\-' ${LETS_ENCRYPT_CHAIN_CRT} | tr -d '\n'`
# Добавляем цепочку в CommuniGate Pro
echo "[INFO]: start add chain"
curl -u ${POSTMASTER_NAME}:${POSTMASTER_PASSWORD} -k "http://${IP_CGP_SERVER}:8100/cli/" \
--data-urlencode "command=updatedomainsettings ${DOMAIN_NAME} \
{CAChain=[${LETS_ENCRYPT_CHAIN_CRT}];}"Проверить корректность установки сертификата можно в разделе Users → Domains → yourdomain.ru → Security → SSL/TLS.