資源簡介
親測,需要注意的地方在博客中有:http://blog.csdn.net/goligory/article/details/79274416

代碼片段和文件信息
package?com.xiaojubianli.driver.biz.utils.pay;
import?com.jpay.util.xmlHelper;
import?org.apache.http.HttpEntity;
import?org.apache.http.client.methods.CloseableHttpResponse;
import?org.apache.http.client.methods.HttpPost;
import?org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import?org.apache.http.conn.ssl.SSLContexts;
import?org.apache.http.entity.StringEntity;
import?org.apache.http.impl.client.CloseableHttpClient;
import?org.apache.http.impl.client.HttpClients;
import?org.apache.http.util.EntityUtils;
import?javax.net.ssl.SSLContext;
import?javax.servlet.http.HttpServletRequest;
import?java.io.File;
import?java.io.FileInputStream;
import?java.security.KeyStore;
import?java.util.Map;
/**
?*?This?example?demonstrates?how?to?create?secure?connections?with?a?custom?SSL
?*?context.
?*/
public?class?ClientCustomSSL?{
????public?Map?doRefund(String?url?String?dataHttpServletRequest?request)?throws?Exception?{
????????/**
?????????*?注意PKCS12證書?是從微信商戶平臺-》賬戶設置-》?API安全?中下載的
?????????*/
????????String?path=this.getClass().getClassLoader().getResource(“/“).getPath();
????????String?pathStr=path+?“apiclient_cert.p12“;
????????System.out.println(“pathstr-->“+pathStr);
????????KeyStore?keyStore??=?KeyStore.getInstance(“PKCS12“);
????????FileInputStream?instream?=?new?FileInputStream(new?File(pathStr));//P12文件目錄
????????try?{
????????????/**
?????????????*?此處要改
?????????????*?*/
????????????keyStore.load(instream?RefundUtil.mch_id.toCharArray());//這里寫密碼..默認是你的MCHID
????????}?finally?{
????????????instream.close();
????????}
????????//?Trust?own?CA?and?all?self-signed?certs
????????/**
?????????*?此處要改
?????????*?*/
????????SSLContext?sslcontext?=?SSLContexts.custom()
????????????????.loadKeyMaterial(keyStore?RefundUtil.mch_id.toCharArray())//這里也是寫密碼的
????????????????.build();
????????//?Allow?TLSv1?protocol?only
????????SSLConnectionSocketFactory?sslsf?=?new?SSLConnectionSocketFactory(
????????????????sslcontext
????????????????new?String[]?{?“TLSv1“?}
????????????????null
????????????????SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
????????CloseableHttpClient?httpclient?=?HttpClients.custom()
????????????????.setSSLSocketFactory(sslsf)
????????????????.build();
????????try?{
????????????HttpPost?httpost?=?new?HttpPost(url);?//?設置響應頭信息
????????????httpost.addHeader(“Connection“?“keep-alive“);
????????????httpost.addHeader(“Accept“?“*/*“);
????????????httpost.addHeader(“Content-Type“?“application/x-www-form-urlencoded;?charset=UTF-8“);
????????????httpost.addHeader(“Host“?“api.mch.weixin.qq.com“);
????????????httpost.addHeader(“X-Requested-With“?“xmlHttpRequest“);
????????????httpost.addHeader(“Cache-Control“?“max-age=0“);
????????????httpost.addHeader(“User-Agent“?“Mozilla/4.0?(compatible;?MSIE?8.0;?Windows?NT?6.0)?“);
????????????httpost.setEntity(new?StringEntity(data?“UTF-8“));
????????????CloseableHttpResponse?response?=?httpclient
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1985??2018-02-01?16:54??Sha1Util.java
?????文件???????3672??2018-02-01?16:54??TenpayUtil.java
?????文件???????3655??2018-02-01?16:54??ClientCustomSSL.java
?????文件???????1179??2018-02-01?16:54??MD5Util.java
?????文件???????2577??2018-02-06?22:05??RefundUtil.java
?????文件???????6399??2018-02-01?16:54??RequestHandler.java
-----------?---------??----------?-----??----
????????????????19467????????????????????6
- 上一篇:JAVA-連連看
- 下一篇:Java實現單詞查詢程序
評論
共有 條評論