liurunyu
2024-08-20 87e74fc1137cb50492005590086894d5a1ca0512
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/config/RestTemplateWechatCertConfig.java
@@ -1,10 +1,13 @@
package com.dy.pipIrrSell.config;
import com.dy.pipIrrGlobal.cert.WxCertUtil;
import com.dy.pipIrrSell.wechatpay.PayInfo;
import okhttp3.OkHttpClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ResourceLoader;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.OkHttp3ClientHttpRequestFactory;
@@ -12,8 +15,7 @@
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.security.KeyStore;
/**
@@ -25,16 +27,18 @@
@Configuration
public class RestTemplateWechatCertConfig {
    String mchid = PayInfo.mchid;
    @Autowired
    private ResourceLoader resourceLoader;
    @Bean
    @ConfigurationProperties(prefix = "org.liurb.core.rest-template.config.connection")
    public ClientHttpRequestFactory wechatHttpRequestFactory() throws Exception {
        KeyStore keyStore = KeyStore.getInstance("PKCS12");
        //InputStream cp = this.getClass().getResourceAsStream("apiclient_cert.p12");
        FileInputStream instream = new FileInputStream(new File("C:\\webchat\\apiclient_cert.p12"));
        keyStore.load(instream, mchid.toCharArray());
        InputStream in = WxCertUtil.getCert_p12InputStream(resourceLoader);
        keyStore.load(in, mchid.toCharArray());
        KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
        keyManagerFactory.init(keyStore, mchid.toCharArray());