2014-11-06 4 views
0

У меня есть веб-приложение с поддержкой безопасности, которое подключается к LDAP с использованием SSL, развернутого в WLP. Я уточнял доверенных и пароль, как показано ниже в jvm.options файлеИсходящее SSL-соединение в WLP

-Djavax.net.ssl.trustStore=path/to/keystore 
-Djavax.net.ssl.trustStorePassword=password 

Мои server.xml выглядит, как показано ниже

<?xml version="1.0" encoding="UTF-8"?> 
<server description="new server"> 
    <!-- Enable features --> 
    <featureManager> 
    <feature>jsp-2.2</feature> 
    <feature>ssl-1.0</feature> 
    <feature>localConnector-1.0</feature> 
    </featureManager> 

    <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443" /> 
    <keyStore id="defaultKeyStore" location="/path/to/identity.jks" password="password" provider="SUN" /> 
    <webContainer deferServletLoad="false" /> 
    <application id="appId" location="/path/to/app.war" name="app" type="war" /> 
</server> 

Однако я получаю следующее исключение

Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 

Я попробовал тот же трастовый магазин с автономная программа Java, и она работает. Любая помощь приветствуется.

Примечание: Если я включаю доверенные СА в identity.jks работает

Благодаря Мурало

+0

Пожалуйста, запустите с «-Djavax.net.debug = all», чтобы получить полные журналы отладки SSL и вставить здесь вопрос. –

+0

Любые причины, по которым вы не можете использовать identity.jks для хранения этого доверенного ЦС? – Gas

+0

Я хотел, чтобы он отличался от того, что сертификат сервера получен извне, а сертификаты CA являются стандартными для всех сред. Но похоже, что мне нужно пойти с одним ключом. – Murali

ответ

1

Вашего identity.jks не распознается, потому что это не связан с Http-конечной точкой. Не должно быть необходимости использовать свойства системы JSSE, так как там может быть определен доверительный магазин. Вы не указали свою версию wlp. Для 8,5 см здесь http://www-01.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.core.doc/ae/rwlp_ssl.html

(Инструменты разработчика WebSphere Application Server для Eclipse, обеспечивают пользовательский интерфейс для редактирования server.xml)

Ваш server.xml должен выглядеть следующим образом:

<?xml version="1.0" encoding="UTF-8" ?> 
<server description="new server"> 
    <!-- Enable features --> 
    <featureManager> 
    <feature>jsp-2.2</feature> 
    <feature>ssl-1.0</feature> 
    <feature>localConnector-1.0</feature> 
    </featureManager> 

    <keyStore id="keyStore" location="/path/to/identity.jks" password="keyStorePassword" type="jks" /> 
    <keyStore id="trustStore" location="/path/to/truststore.jks" password="trustStorePassword" type="jks" /> 

    <sslDefault sslRef="defaultSSLConfig" /> 

    <ssl id="defaultSSLConfig" keyStoreRef="keyStore" serverKeyAlias="serverKeyAlias" trustStoreRef="trustStore" /> 

    <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443"> 
    <sslOptions sslRef="defaultSSLConfig"></sslOptions> 
    </httpEndpoint> 
    <webContainer deferServletLoad="false" /> 
    <application id="appId" location="/path/to/app.war" name="app" type="war" /> 
</server> 
Смежные вопросы