AXIS Soap调用-仅对自签名证书使用truststore
我在客户端应用程序中使用Axis1.4进行SOAP调用。我通过HTTPS呼叫服务。一些服务使用自签名证书,其他服务使用证书颁发机构颁发的证书 我已使用中的代码将自签名证书添加到我的信任存储中。我的问题是truststore用于所有调用,甚至是对具有CA有效证书的服务器的调用AXIS Soap调用-仅对自签名证书使用truststore,soap,ssl,axis,truststore,Soap,Ssl,Axis,Truststore,我在客户端应用程序中使用Axis1.4进行SOAP调用。我通过HTTPS呼叫服务。一些服务使用自签名证书,其他服务使用证书颁发机构颁发的证书 我已使用中的代码将自签名证书添加到我的信任存储中。我的问题是truststore用于所有调用,甚至是对具有CA有效证书的服务器的调用 是否有必要告诉Axis仅对具有自签名证书的服务器使用truststore?这基本上与相同的问题(除了用于客户端证书身份验证) 您需要创建自己的套接字工厂类,并使用以下属性将其传递给axis: AxisProperties.s
是否有必要告诉Axis仅对具有自签名证书的服务器使用truststore?这基本上与相同的问题(除了用于客户端证书身份验证) 您需要创建自己的套接字工厂类,并使用以下属性将其传递给axis:
AxisProperties.setProperty("axis.socketSecureFactory",
"com.example.MySSLSocketFactory");
(见附件。)
因为您已经有了一个工作的
SSLContext
,而不是将其设置为默认上下文,您需要从中创建一个javax.net.ssl.SSLSocketFactory
,并使用它在Apache Axis套接字工厂中创建套接字。Bruno:这是一个中心配置,对吗?是否可以为每个请求配置不同的socketfactories?我还希望为每个请求配置。有人知道怎么做吗@Cratylus你找到怎么做了吗?@Adematini:我按照建议的答案实现了自己的套接字工厂类