1.下载微信pkcs12证书
/***
* @param filePath 文件的路径
* @param password 商户密码
* @return
* @throws Exception
*/
private SSLContext getSSLContext(String filePath, char[] password) throws Exception {
InputStream inputStream = this.getClass().getResourceAsStream(filePath);
KeyStore keystore = KeyStore.getInstance("PKCS12");
keystore.load(inputStream, password);
SSLContext sslContext = SSLContexts.custom().loadKeyMaterial(keystore, password).build();
return sslContext;
}
2.将sslContext导入httpClient中
HttpClientBuilder builder = HttpClients.custom();
//以下方法已经过时,待深究
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
getSSLContext(),
new String[] { "TLSv1" },
null,
SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
builder.setSSLSocketFactory(sslsf);
//完成导入
CloseableHttpClient httpClient = builder.build();
3.使用httpclient
参考