1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package com.kmall.common.utils.wechat;
- import com.kmall.common.service.pay.wxpay.CommonWxPayPropertiesBuilder;
- import com.kmall.common.utils.ResourceUtil;
- import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
- import org.apache.http.conn.ssl.SSLContexts;
- import javax.net.ssl.SSLContext;
- import java.io.FileInputStream;
- import java.io.InputStream;
- import java.security.KeyStore;
- @SuppressWarnings("deprecation")
- public class WechatConfig {
- private static SSLConnectionSocketFactory sslcsf;
- public static SSLConnectionSocketFactory getSslcsf() {
- if (null == sslcsf) {
- setSsslcsf();
- }
- return sslcsf;
- }
- private static void setSsslcsf() {
- try {
- KeyStore keyStore = KeyStore.getInstance("PKCS12");
- Thread.currentThread().getContextClassLoader();
- // InputStream instream = new WechatRefundApiResult().getClass().getResourceAsStream(
- // CommonWxPayPropertiesBuilder.instance().getCertName());
- InputStream instream = new FileInputStream(CommonWxPayPropertiesBuilder.instance().getCertName());
- try {
- keyStore.load(instream, CommonWxPayPropertiesBuilder.instance().getMchId().toCharArray());
- } finally {
- instream.close();
- }
- SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(keyStore, CommonWxPayPropertiesBuilder.instance().getMchId().toCharArray()).build();
- sslcsf = new SSLConnectionSocketFactory(sslcontext, new String[]{"TLSv1"}, null, SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
|