JAVA实现https单向认证

Posted gccbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA实现https单向认证相关的知识,希望对你有一定的参考价值。

//关于http 须要两个jar包   httpclient-4.0.jar	httpcore-4.0.1.jar
private static final HttpClient httpClient = new DefaultHttpClient();

	try {
			//获得密匙库
		KeyStore trustStore = KeyStore.getInstance("jks");
		String keyStoreFile = "xxxxx.keystore";
	        String keyPwd =  "xxxxxxx";
		FileInputStream instream = new FileInputStream(new File(keyStoreFile));
	        //密匙库的password
	        trustStore.load(instream, keyPwd.toCharArray());
	        //注冊密匙库
	        SSLSocketFactory socketFactory = new SSLSocketFactory(trustStore);
	        //不校验域名
	        socketFactory.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
	        Scheme sch = new Scheme("https", socketFactory, 443);
	        httpClient.getConnectionManager().getSchemeRegistry().register(sch);
		} catch (Exception e) {
			e.printStackTrace();
		}
//以下这段是调用代码。能够有非常多种写法。不局限于用HttpPost
HttpPost httpPost = new HttpPost( url );
StringEntity entity = new StringEntity(params);
entity.setContentEncoding("UTF-8");
httpPost.setEntity( entity );
//发送请求
HttpResponse response = httpClient.execute( httpPost );
String jsonStr = EntityUtils.toString( response.getEntity() );




以上是关于JAVA实现https单向认证的主要内容,如果未能解决你的问题,请参考以下文章

关于java的SSL https协议

https 单向认证和双向认证配置

干货 | 图解 https 单向认证和双向认证!

Tomcat容器https配置之单向认证

密码学ssl双向认证和单向认证原理

网络https单向认证和双向认证