Данная статья актуальна для установок GEO.RITM на ВМ. Для docker данная статья не актуальна.
Введение
Возможны несколько разных ситуаций, когда сам сервер GEO.RITM, работающий на Payara, обращается к сторонним серверам, используя шифрование SSL. Это может быть отправка электронной почты, обращение к https://device.ritm.ru за списком соответствия программ настроек прошивкам прибора и т.д.
В таких случаях Payara проверяет сертификаты, и если посчитает их не проходящими проверку, то запрещает сетевое соединение через SSL. В файле журнала работы Payara /opt/payara41/glassfish/domains/domain1/logs/server.log появляется запись вида:
unable to find valid certification path to requested target
Для исключения подобных ошибок необходимо получить файл сертификата в формате pem (der или txt) и добавить сертификаты в хранилища сертификатов Java на ВМ с GEO.RITM (RITM.LINK) с помощью утилиты keytool. Синтаксис:
keytool -import -alias <название сертификата> -keystore <путь к файлу хранилища сертификатов> -file <путь к файлу сертификата> -storepass <пароль>
Пример для сертификатов Let's Encrypt
Для добавления сертификатов Let's Encrypt в хранилище Java выполните следующие действия.
- Авторизуйтесь в Linux ВМ GEO.RITM (RITM.LINK);
- Для обновления ОС выполните
yum update --exclude=mysql* -y
- Для уточнения версии java выполните
java -version ls /usr/java/ | grep jdk
- Для скачивания сертификатов выполните
cd /tmp wget http://letsencrypt.org/certs/isrgrootx1.pem --no-check-certificate wget http://letsencrypt.org/certs/isrg-root-x1-cross-signed.pem --no-check-certificate wget http://letsencrypt.org/certs/isrg-root-x2.pem --no-check-certificate wget http://letsencrypt.org/certs/isrg-root-x2-cross-signed.pem --no-check-certificate
- Учитывая вашу версию java и путь к файлу хранилища из п. 3, измените команды и выполните
На вопросы - доверяете ли вы сертификатам,
Trust this certificate? [no]:
нужно отвечать -
yes
keytool -import -alias isrgrootx1_2030 -keystore /usr/java/jdk1.8.0_161/jre/lib/security/cacerts -file isrgrootx1.pem -storepass changeit keytool -import -alias isrgrootx1_2030 -keystore /opt/payara41/glassfish/domains/domain1/config/cacerts.jks -file isrgrootx1.pem -storepass changeit keytool -import -alias isrgrootx1_cross_2030 -keystore /usr/java/jdk1.8.0_161/jre/lib/security/cacerts -file isrg-root-x1-cross-signed.pem -storepass changeit keytool -import -alias isrgrootx1_cross_2030 -keystore /opt/payara41/glassfish/domains/domain1/config/cacerts.jks -file isrg-root-x1-cross-signed.pem -storepass changeit keytool -import -alias isrgrootx2_2035 -keystore /usr/java/jdk1.8.0_161/jre/lib/security/cacerts -file isrg-root-x2.pem -storepass changeit keytool -import -alias isrgrootx2_2035 -keystore /opt/payara41/glassfish/domains/domain1/config/cacerts.jks -file isrg-root-x2.pem -storepass changeit keytool -import -alias isrgrootx2_cross_2035 -keystore /usr/java/jdk1.8.0_161/jre/lib/security/cacerts -file isrg-root-x2-cross-signed.pem -storepass changeit keytool -import -alias isrgrootx2_cross_2035 -keystore /opt/payara41/glassfish/domains/domain1/config/cacerts.jks -file isrg-root-x2-cross-signed.pem -storepass changeit
- Перезапустите Payara
/opt/payara41/glassfish/bin/asadmin stop-domain /opt/payara41/glassfish/bin/asadmin start-domain