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));
	        //密匙库的密码
	        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,Web,JAVA)