Запрос Tibco SOAP по протоколу https - проблема с проверкой SSL-сертификата
-
22-07-2019 - |
Вопрос
Я использую Tibco BusinessWorks для использования веб-сервиса soap через HTTPS-соединение.
Инструкции сводятся к следующему:
- Экспортируйте сертификаты с помощью веб-браузера.
- Используйте Инструменты-> Доверенные сертификаты-> Импортировать формат PEM в папку внутри проекта.
- В конфигурации SSL на вкладке Сведения о транспорте укажите папку доверенных сертификатов, в которую вы их импортировали.
--ИЛИ--
Используйте глобальную переменную BW_GLOBAL_TRUSTED_CA_STORE, чтобы указать на внешнюю папку (file:///c:/tibco/certs) и поместить туда сертификаты в формате pem.
Я пробовал оба способа, и все равно в итоге получаю приведенную ниже ошибку:
iaik.security.ssl.SSLException: Server certificate rejected by ChainVerifier
Я пробовал экспортировать их через Firefox и IE.В разных форматах, включая все ключи и по отдельности, но ошибка по-прежнему сохраняется.
Есть ли что-то более конкретное, что мне нужно сделать, или есть способ включить отладку для верификатора сертификата?Я пытался повысить уровень отладки для designer, но я не уверен, что делаю это правильно.
Любая помощь была бы замечательной.
Большое спасибо!
Решение
Проблема заключалась в том, что у фактический корневой сертификат в пути к доверенным сертификатам.
Это было легко решено путем экспорта сертификатов с помощью OpenSSL:
openssl s_client -showcerts -connect <domain>:443
и копируем все сертификаты оттуда.
Другие советы
Нет необходимости хранить сертификаты в вашем проекте BW.
Просто укажите путь к вашим сертификатам в GV, BW_GLOBAL_TRUSTED_CA_STORE и перейдите в свой процесс, где вы используете панель ответов на запрос soap, и укажите ссылку на глобальную переменную в trusted certificate path и сохраните процесс.
Затем запустите свой процесс BW
Собственный ответ Натана сработал для меня.При копировании сертификата расширение файла должно быть .cert.
Однако, если я экспортирую свой процесс с ssl-сертификатами в библиотеку времени разработки (.projlib) и импортирую библиотеку в другой проект BW, тогда Designer / BW требует, чтобы каждый файл сертификата не содержал более одного сертификата.