Я пытаюсь создать файл хранилища ключей и доверенных сертификатов из самозаверяющего сертификата для использования в действии HTTPRouter, развернутом в ESB JBoss. Я использовал openssl для получения интересующего сертификата и создал файл хранилища ключей и файл хранилища доверенных сертификатов с помощью следующих команд:
keytool -import -alias ejb-ssl -file cert.der -keystore cert.truststore
keytool -import -alias ejb-ssl -file cert.der -keystore cert.keystore -trustcacerts
Перед генерацией файлов хранилища ключей и доверенных сертификатов я конвертирую сертификат в формат X509, иначе утилита keytool не работает, возвращая исключение с сообщением «введите не сертификат x.509». Чтобы преобразовать интересующий сертификат, я использую следующую команду:
openssl x509 -in cert.cer -outform DER -out cert.der
Затем я скопировал эти файлы в папку esbcontent/META-INF моего ESB. Ниже приведены свойства, которые я устанавливаю для действия HTTPRouter.
#Configurators
configurators=HttpProtocol
#HttpProtocol Config...
protocol-socket-factory=org.jboss.soa.esb.http.protocol.SelfSignedSSLProtocolSocketFactoryBuilder
keystore=/META-INF/keystore/cert.keystore
keystore-passw=password
truststore=/META-INF/truststore/cert.truststore
truststore-passw=password
Когда я развертываю ESB, я получаю следующую ошибку:
Caused by: org.jboss.soa.esb.ConfigurationException: Invalid 'keystore' config. Must be valid URL.
Глядя на сертификат, полученный от стороннего веб-сервиса, все URL-адреса выглядят нормально. Кто-нибудь знает, почему JBoss не принимает URL-адрес в сгенерированном хранилище ключей? Я начинаю рвать на себе волосы по этому поводу!
Кроме того, я пытался использовать org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory для фабрики протоколов-сокетов. При использовании этого ESB разворачивается нормально. Однако HTTPRouter, похоже, не отправляет запрос сторонней веб-службе. Я использовал SoapUI, чтобы установить, что веб-служба в порядке, поэтому я думаю, что это проблема с моей конфигурацией действия HTTPRouter.
Любая предлагаемая помощь приветствуется!