Данная статья актуальна для установок 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 выполните следующие действия.

  1. Авторизуйтесь в Linux ВМ GEO.RITM (RITM.LINK);
  2. Для обновления ОС выполните
    yum update --exclude=mysql* -y
  3. Для уточнения версии java выполните
    java -version
    ls /usr/java/ | grep jdk
  4. Для скачивания сертификатов выполните
    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
  5. Учитывая вашу версию java и путь к файлу хранилища из п. 3, измените команды и выполните

    На вопросы - доверяете ли вы сертификатам,

    Trust this certificate? [no]:

    нужно отвечать - 

    yes


  6. 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
  7. Перезапустите Payara
    /opt/payara41/glassfish/bin/asadmin stop-domain
    /opt/payara41/glassfish/bin/asadmin start-domain
     

  • Нет меток