Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AXIS Soap调用-仅对自签名证书使用truststore_Soap_Ssl_Axis_Truststore - Fatal编程技术网

AXIS Soap调用-仅对自签名证书使用truststore

AXIS Soap调用-仅对自签名证书使用truststore,soap,ssl,axis,truststore,Soap,Ssl,Axis,Truststore,我在客户端应用程序中使用Axis1.4进行SOAP调用。我通过HTTPS呼叫服务。一些服务使用自签名证书,其他服务使用证书颁发机构颁发的证书 我已使用中的代码将自签名证书添加到我的信任存储中。我的问题是truststore用于所有调用,甚至是对具有CA有效证书的服务器的调用 是否有必要告诉Axis仅对具有自签名证书的服务器使用truststore?这基本上与相同的问题(除了用于客户端证书身份验证) 您需要创建自己的套接字工厂类,并使用以下属性将其传递给axis: AxisProperties.s

我在客户端应用程序中使用Axis1.4进行SOAP调用。我通过HTTPS呼叫服务。一些服务使用自签名证书,其他服务使用证书颁发机构颁发的证书

我已使用中的代码将自签名证书添加到我的信任存储中。我的问题是truststore用于所有调用,甚至是对具有CA有效证书的服务器的调用


是否有必要告诉Axis仅对具有自签名证书的服务器使用truststore?

这基本上与相同的问题(除了用于客户端证书身份验证)

您需要创建自己的套接字工厂类,并使用以下属性将其传递给axis:

AxisProperties.setProperty("axis.socketSecureFactory",
    "com.example.MySSLSocketFactory");
(见附件。)


因为您已经有了一个工作的
SSLContext
,而不是将其设置为默认上下文,您需要从中创建一个
javax.net.ssl.SSLSocketFactory
,并使用它在Apache Axis套接字工厂中创建套接字。

Bruno:这是一个中心配置,对吗?是否可以为每个请求配置不同的socketfactories?我还希望为每个请求配置。有人知道怎么做吗@Cratylus你找到怎么做了吗?@Adematini:我按照建议的答案实现了自己的套接字工厂类