Использование веб-службы с использованием двухстороннего SSL с использованием клиентского кода Orbeon
Мы пытаемся использовать веб-сервис из клиентского кода orbeon. Все работает нормально с односторонним SSL, однако теперь мы хотим вызвать веб-сервис с использованием двухстороннего SSL. Мы можем вызывать веб-сервис с использованием двухстороннего SSL, успешно используя инфраструктуру Apache CXF с использованием кода Java.
Я следовал инструкциям, изложенным в Orbeon Wiki.
Изменения, сделанные в properties-local.xml
<property as="xs:anyURI"
name="oxf.http.ssl.keystore.uri"
value="/apps/property/ClientStore.jks"/>
<property as="xs:string"
name="oxf.http.ssl.keystore.password"
value="password"/>
<property as="xs:anyURI"
name="oxf.url-rewriting.service.base-uri"
value="http://localhost:8085/Orbeon"/>
<property as="xs:anyURI"
name="oxf.fr.persistence.exist.uri"
value="http://localhost:8085/fr/service/exist"/>
<property as="xs:anyURI"
name="oxf.fr.persistence.exist.exist-uri"
value="http://localhost:8085/exist/rest/db/orbeon/fr"/>
После внесения изменений, описанных выше, мы получаем исключение ниже:
ERROR XFormsServer - xforms-submit-error - setting throwable {throwable:
"javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:390)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:488)
at org.apache.http.conn.scheme.SchemeSocketFactoryAdaptor.connectSocket(SchemeSocketFactoryAdaptor.java:62)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148
Варианты запуска Java:
-Djavax.net.ssl.trustStorePassword=password
-Djavax.net.ssl.keyStore=/apps/property/DMClientStore.jks
-Djavax.net.ssl.keyStorePassword=password
-Djavax.net.ssl.trustStore=/apps/property/trustkeystore.jks
Вопросы:
Достаточно ли этих свойств для включения двухстороннего SSL?
Для Apache CXF нам необходимо предоставить два хранилища ключей: одно с клиентским сертификатом и доверенное хранилище. Где мы настраиваем оба этих хранилища ключей для Orbeon?