Axis over SSL и двусторонняя аутентификация с хранилищем ключей PKCS # 12 - PullRequest
1 голос
/ 07 апреля 2010

У меня есть хранилище ключей PKCS # 12, которое я успешно импортировал в своем браузере для доступа к серверу, который требует двухсторонней аутентификации SSL. Прекрасно работает на любой https URL.

Однако я не могу получить доступ к URL-адресу на одном и том же сервере и на одном и том же хосте при использовании Axis 1.4. Данная строка ошибки Axis:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели

Мои javax.net.ssl.{keyStore,keyStorePassword,keyStoreType} свойства настроены нормально.

Как я могу решить эту проблему?

Ответы [ 2 ]

6 голосов
/ 08 июля 2010

Я наткнулся на более простой ответ, если все, что вам нужно, - это чтобы ваш клиент мог вызывать веб-службу SSL и игнорировать ошибки сертификата SSL. (Конечно, вы бы НЕ делали это в производстве! , но это, безусловно, удобно для тестирования.)

Просто поместите это утверждение, прежде чем вызывать какие-либо веб-сервисы:

System.setProperty("axis.socketSecureFactory",
    "org.apache.axis.components.net.SunFakeTrustSocketFactory");

Я нашел это в вики Оси .

2 голосов
/ 07 апреля 2010

Наконец, импорт сертификатов в мое собственное хранилище доверенных сертификатов с использованием InstallCert Андреаса Стербенса и установка свойств trustStore, как указано здесь , сделали свое дело!

...