weblogic上的Web服务客户端应用程序,用于调用Web服务

时间:2011-08-23 16:14:25

标签: java web-services ssl weblogic

我在weblogic 10.3.3上有一个Web应用程序,它是调用安全Web服务的客户端。 注意:我已经能够通过设置通过独立的java类测试Web服务 以下两个属性:

  System.setProperty("javax.net.ssl.keyStore", "C:/keystore.jks");
  System.setProperty("javax.net.ssl.keyStorePassword", "######");

但是当我尝试将客户端应用程序部署到weblogic时,它给出了以下错误:

weblogic.wsee.jaxrpc.soapfault.WLSOAPFaultException: Failed to receive m
essage javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain receive
d from *******  was not trusted causing SSL handshake failure.
        at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireException(Unknow
n Source)
        at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknow
n Source)
        at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
Source)
        at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
Source)
        at com.certicom.tls.record.handshake.ClientStateReceivedServerHello.hand
le(Unknown Source)
        at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMes
sage(Unknown Source)
        at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMes
sages(Unknown Source)
        at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown S
ource)

在weblogic控制台中,我已选中“启用SSL侦听端口”复选框。 在Keystores选项卡中,我选择了“自定义标识和标准信任存储”。对于自定义标识,我已经指向C:/keystore.jks。

1 个答案:

答案 0 :(得分:1)

密钥库是您放置 密钥的位置。您将使用这些来证明您与同伴的关系。这很可能是“自定义标识”的含义。 truststore 是您放置信任锚的地方。这些是您已经信任的证书,您的对等方必须向您提供以信任存储中的某个证书结尾的证书链。作为退化情况,您可以将对等证书本身放入此信任库中。这种退化情况必须用于自签名证书。

对于大多数正常的SSL使用,信任库包括众所周知的CA根,如Verisign,Thawte,GoDaddy,Comodo,GlobalSign等.Oracle JRE在通常名为cacerts的文件中包含一个信任库,其中包含大量的Oracle认为应该存在这样的CA根源。这很可能是“标准信托商店”的意思。

我猜你的同伴正在使用自签名证书。因此,您应该使用包含此证书的自定义信任库。