httpclient访问需要客户端认证数字证书的https接口的处理方法

1.安装数字证书 

    执行 java InstallCert test.ldh.com:443下载数字证书, InstallCert.java见附件,test.ldh.com换成你调的接口的域名,证书只需要下一次就可以在其他机子部署,证书放在jdk\jre\lib\security目录下.这种方式的缺点是需要安装,并且证书过一段时间会失效

2.实现httpclient的SecureProtocolSocketFactory接口,调用方式如下:

   Protocol https = new Protocol("https",new HTTPSSecureProtocolSocketFactory(), 443);  (1)
   Protocol.registerProtocol("https", https); (2)
   HttpClient client = new HttpClient();(3)

   HTTPSSecureProtocolSocketFactory类实现了SecureProtocolSocketFactory,文件见附件.比一般的httpclient使用多了(1),(2)两步,剩下的其他步骤的一样,这种方式的好处是不需要安装证书

猜你喜欢

转载自liudeh-009.iteye.com/blog/1181571