HttpClient请求https认证问题

   服务端在使用HttpClient调用https服务时,会抛出PKIX path building failed异常,该异常为认证证书的问题,有两种解决方法:

###1.设置默认信任

   直接上代码:


//**
* enableSSL:https认证
 * @param httpclient
 * @param serverPort
 * @return
 */
	public static HttpClient enableSSL(HttpClient httpclient, Integer serverPort) {
		TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
			public java.security.cert.X509Certificate[] getAcceptedIssuers() {
				return null;
			}
			public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {}
			public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {}
		}};
		try {
			SSLContext sc = SSLContext.getInstance("SSL");
			sc.init(null, trustAllCerts, null);
			SSLSocketFactory sf = new SSLSocketFactory(sc, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
			ClientConnectionManager ccm = httpclient.getConnectionManager();
			SchemeRegistry sr = ccm.getSchemeRegistry();
			sr.register(new Scheme("https", serverPort, sf));
			httpclient = new DefaultHttpClient(ccm, httpclient.getParams());
		}
		catch(Exception e) {
			e.printStackTrace();
		}
		return httpclient;
	}

###2.生成证书    生成证书代码:

http://www.oschina.net/code/snippet_12_4092

   运行后将生成的jssecacerts文件放到服务器的JAVA_HOME环境下即可

转载于:https://my.oschina.net/u/1161660/blog/806986

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值