Я написал приложение, которое подключается к веб-службе SSL (включая сертификат клиента) через jaxws. Чтобы это работало, у меня есть wstrust.jks, который содержит доверенный корневой сертификат для ws, и client.p12, который является клиентским сертификатом для использования при подключении к ws. Затем я создал собственный SSLSocketFactory, чтобы иметь возможность использовать мои wstrust.jks и client.12 при подключении к ws. Я говорю jaxws использовать мою реализацию:
[javax.xml.ws.BindingProvider] .getRequestContext (). Put (JAXWSProperties.SSL_SOCKET_FACTORY, customSSLSocketFactory);
Все работает как шарм, если я запускаю его как отдельное java-приложение. Однако, когда я использую ту же технику внутри Java-бина (JSF), развернутого как war-файл, работающий под Tomcat,
я получаю "Ошибка построения пути PKIX".
НО Если я настраиваю SSL через JAVA_OPTS, когда я запускаю свой Tomcat (через параметры -Djavax.net.ssl. *), Я заставляю его работать.
Итак, мой вопрос:
Как мне (или возможно ли) заставить мою методику custom-SSLSocketFactory работать внутри Java-компонента?
Я предполагаю, что tomcat оборачивается вокруг моего приложения, когда оно работает как bean-компонент, оно работает по-другому, и мое желание использовать пользовательский SSLSocketFactory не выполняется ...
Спасибо за любой вклад в этом!
/ Tobbe