Java Trusting ssl CA.

时间:2012-10-22 08:45:19

标签: java ssl keystore axis

我想我的想法不在这里。

我正在尝试在java中使用具有ssl证书的Web服务。

我创建了一个密钥库文件,我在其中添加了证书。该文件位于我的项目文件夹中。

我使用以下方式导入它:

System.setProperty("javax.net.ssl.keyStore", "folder\\keystore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "SECRET");

显然,Web服务调用会检查密钥库,因为在给出错误的文件路径时,应用程序在调用WS时会抛出异常,而不是在设置系统属性时抛出异常。

无论如何,当给出密钥库文件的正确路径时,我仍然得到

  

AxisFault    faultCode:{http://xml.apache.org/axis/}HTTP    faultSubcode:    faultString:(401)需要授权

有人告诉我,我必须信任CA,然后再进行任何工作。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我明白了。显然,该服务使用HTTP基本身份验证。

Axis生成的Stub(扩展org.apache.axis.client.stub)在构造函数中需要以下2行

((org.apache.axis.client.Stub) this)._setProperty(org.apache.axis.client.Call.USERNAME_PROPERTY, "HTTPUSER");
((org.apache.axis.client.Stub) this)._setProperty(org.apache.axis.client.Call.PASSWORD_PROPERTY, "HTTPPW");

谢谢你的帮助。

此致