Работа с внешними системами через SSL

Приложение SMP поддерживает работу с внешними сервисами (HTTP, FTP, LDAPs) с использованием протокола Secure Socket Layer (SSL).

Методика использования SSL для подключения к сервису зависит от сертификата для шифрования трафика:

  • сертификат сервиса, подписанный доверенным корневым удостоверяющим центром;
  • самоподписанный или корпоративный сертификат сервиса.

Подключение к SSL-сервисам, использующим сертификат, подписанный доверенным корневым удостоверяющим центром

Для работы сертификатом сервиса, подписанным доверенным корневым удостоверяющим центром, в точке конфигурации подключения к сервису укажите:

  • использование SSL:

    • https (вместо http) — для обращения к HTTPs-сервису из скрипта;
    • ldaps (вместо ldap) — для импорта или аутентификации в LDAP).
  • соответствующий порт.

Список доверенных центров сертификации составляется компанией Oracle и содержится в Java TrustStore. Команда для просмотра списка:

Для ОС Linux:

/path/to/java/bin/keytool -list -keystore /path/to/java/jre/lib/security/cacerts

Подключение к SSL-сервисам, использующим самоподписанный или корпоративный сертификат

При работе с самоподписанным или корпоративным сертификатом сервиса (например сертификат выпущен во внутрикорпоративной инфраструктуре приватных ключей) виртуальная машина Java в целях безопасности не позволит произвести подключение к сервису и вернет соответствующую ошибку.

Чтобы обойти это поведение, создайте собственное хранилище доверенных сертификатов "Java TrustStore" и поместите в него требуемый сертификат:

  1. Загрузите на сервер сертификат в нешифрованном (plain-text) формате.
  2. Скопируйте стандартный truststore $JAVA_HOME/lib/security/cacerts в каталог /conf/ приложения Naumen SMP, переименовав его в naumen.keystore
  3. Проимпортируйте сертификат в хранилище командой:

    /path/to/naumen/java/bin/keytool -import -alias naumen-ssl -file %certificateName%.cer -keystore /path/to/naumen/conf/naumen.keystore

    При этом будет задан вопрос о пароле для хранилища. Стандартный пароль для хранилища cacerts - "changeit".

    В опции alias можно задать любое имя сертификата для упрощения его идентификации в хранилище в будущем.

  4. Полученный файл naumen.keystore подключите к приложению. Для этого добавить в параметры запуска Tomcat следующие java опции:

    -Djavax.net.ssl.trustStore=/path/to/naumen/conf/naumen.keystore

    -Djavax.net.ssl.trustStoreType=jks

  5. Перезапустите сервис Tomcat.