Подключение к защищенному SSL-сертификату WebService из WebSphere - PullRequest
0 голосов
/ 22 августа 2011

у нас есть веб-сервис WAS (Websphere Application Server) 7, который является своего рода прокси-сервером для другой стороны, защищенной SSL WebService.

При использовании нашего WebService (клиента) вне WAS (например, с использованием eclipse) он без проблем подключится, но не внутри WAS.Я также создал тестовый сервис, который использует функцию для печати другой стороны WebService (Server) wsdl.

public void testSSL() {
  URL u;
  InputStream is = null;
  DataInputStream dis;
  String s;

  try {

    System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");
    System.setProperty("javax.net.ssl.keyStore", "/home/...");  //path to jks certificate
System.setProperty("javax.net.ssl.keyStorePassword", "******");
System.setProperty("javax.net.ssl.requireClientAuth", "true");

u = new URL("https://...?WSDL");
is = u.openStream();         // throws an IOException
dis = new DataInputStream(new BufferedInputStream(is));

while ((s = dis.readLine()) != null) {
    System.out.println(s);
}
  } catch (MalformedURLException mue) {
 System.out.println("Ouch - a MalformedURLException happened.");
 mue.printStackTrace();
 System.exit(1);
  } catch (IOException ioe) {
 System.out.println("Oops- an IOException happened.");
 ioe.printStackTrace();
 System.exit(1);
  } finally {
 try {
    is.close();
 } catch (IOException ioe) {
    // just going to ignore this one
 }
  } // end of 'finally' clause
} 

1 Ответ

0 голосов
/ 18 октября 2011

Возможно, проблема в том, что сертификат удаленного сервера не является доверенным для сервера Websphere. Если ваше локальное тестирование выполняется в Windows, оно будет использовать то же хранилище ключей, что и Internet Explorer.

Вместо того, чтобы пытаться настроить хранилище ключей в коде Java с помощью System.SetProperty (), загляните в Websphere Admin Console в разделе Безопасность> Управление сертификатами SSL и ключами> Хранилища ключей и сертификаты

Вполне вероятно, что ваш код Java переопределяется собственной конфигурацией сервера.

Если вы публикуете полученные исключения, вам будет легче посоветовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...