Let’s Encrypt — центр сертификации, предоставляющий бесплатные криптографические сертификаты в автоматическом режиме. Получить и импортировать сертификат на Ваш WCS-сервер можно следующим образом:
Получение сертификата при помощи certbot
Установка Certbot
Centos
1. Установите репозиторий epel-release
в Centos 7
yum install epel-release
в Centos 8
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
2. Установите certbot
в Centos 7
yum install certbot python2-certbot
в Centos 8
sudo dnf install certbot python3-certbot
Ubuntu
Установите certbot командой
sudo apt-get install certbot
Другие операционные системы
Установите certbot в соответствии с официальной инструкцией
Получение сертификата
1. Откройте порты HTTP 80 и HTTPS 443 на сервере для входящих соединений, чтобы certbot мог проверить сервер корректно
2. Запустите certbot
Если на этом же сервере работает веб-сервер, запустите
sudo certbot certonly --apache
или
sudo certbot certonly --nginx
Если на сервере установлен только WCS, запустите
sudo certbot certonly --standalone
В интерактивном режиме certbot запросит необходимые сведения и загрузит файлы сертификатов на сервер.
Если сертификат был получен успешно, переходите к следующему шагу. Если при получении сертификата возникли какие-либо ошибки, обратитесь к документации на certbot
3. Убедитесь, что на вашем сервере в каталоге /etc/letsencrypt/live/yourdomain/ находятся следующие файлы:
cert.pem chain.pem fullchain.pem privkey.pem
Скопируйте файлы на ПК.
Импорт сертификатов в хранилище WCS
1. Войдите в веб-интерфейс WCS. Выберите в верхнем меню пункт "Security", а в подменю - пункт "Certificates":
2. На странице импорта загрузите файл сертификата fullchain.pem и файл ключа privkey.pem:
Перезагрузите WCS сервер, чтобы применить новые настройки. После перезагрузки сервера откройте URL https://yourdomain:8443. Если сертификат был импортирован правильно, вы увидите, что браузер принимает сертификат WCS сервера.
Если при импорте сертификата возникли какие-либо ошибки, переходите к импорту при помощи keytool.
3. Удалите self-signed сертификат из хранилища
keytool -delete -alias selfsigned -keystore /usr/local/FlashphonerWebCallServer/conf/wss.jks
4. Создайте новое хранилище на базе сертификата и приватного ключа
openssl pkcs12 -export -in /etc/letsencrypt/live/yourdomain/fullchain.pem -inkey /etc/letsencrypt/live/yourdomain/privkey.pem -out /etc/letsencrypt/live/yourdomain/pkcs.p12 -name yourdomain
На этом шаге нужно ввести пароль для вашего приватного ключа yourdomain.key, а также установить пароль для самого хранилища. Устанавливаем 'password'.
Enter pass phrase for yourdomain.key: ****** Enter Export Password: password
5. Импортируйте вновь созданное хранилище в существующее хранилище wss.jks
keytool -importkeystore -srckeystore /etc/letsencrypt/live/yourdomain/pkcs.p12 -srcstoretype PKCS12 -destkeystore /usr/local/FlashphonerWebCallServer/conf/wss.jks
На этом шаге придется ввести пароли от импортируемого хранилища и от хранилища wss.jsk.
Enter destination keystore password: password Enter source keystore password: password Entry for alias yourdomain successfully imported. Import command completed: 1 entries successfully imported, 0 entries failed or cancelled
Перезагрузите WCS сервер, чтобы применить новые настройки. После перезагрузки сервера откройте URL https://yourdomain:8443. Если сертификат был импортирован правильно, вы увидите, что браузер принимает сертификат WCS сервера.