修复已知bug

2.14.4版本 微信支付 v3 启动报错 #90
 微信V3初始化apiServerUrl为null
This commit is contained in:
egan
2022-05-05 22:10:02 +08:00
parent 592a619c90
commit 7073d904fe
23 changed files with 82 additions and 79 deletions

View File

@@ -22,7 +22,7 @@
<dependency>
<groupId>com.egzosn</groupId>
<artifactId>{module-name}</artifactId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</dependency>
```

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pay-java-ali</artifactId>

View File

@@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory;
import com.egzosn.pay.common.bean.result.PayException;
import com.egzosn.pay.common.exception.PayErrorException;
import com.egzosn.pay.common.util.IOUtils;
import com.egzosn.pay.common.util.sign.SignUtils;
import com.egzosn.pay.common.util.sign.encrypt.Base64;
import com.egzosn.pay.common.util.str.StringUtils;
@@ -41,7 +42,9 @@ import com.egzosn.pay.common.util.str.StringUtils;
public class AntCertificationUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(AntCertificationUtil.class);
static {
SignUtils.initBc();
}
/**
* 验证证书是否可信
@@ -54,7 +57,8 @@ public class AntCertificationUtil {
X509Certificate[] certificates;
try {
certificates = readPemCertChain(certContent);
} catch (Exception e) {
}
catch (Exception e) {
LOGGER.error("读取证书失败", e);
throw new RuntimeException(e);
}
@@ -63,7 +67,8 @@ public class AntCertificationUtil {
try {
X509Certificate[] certs = readPemCertChain(rootCertContent);
rootCerts.addAll(Arrays.asList(certs));
} catch (Exception e) {
}
catch (Exception e) {
LOGGER.error("读取根证书失败", e);
throw new RuntimeException(e);
}
@@ -81,10 +86,12 @@ public class AntCertificationUtil {
private static boolean verifyCert(X509Certificate cert, X509Certificate[] rootCerts) {
try {
cert.checkValidity();
} catch (CertificateExpiredException e) {
}
catch (CertificateExpiredException e) {
LOGGER.error("证书已经过期", e);
return false;
} catch (CertificateNotYetValidException e) {
}
catch (CertificateNotYetValidException e) {
LOGGER.error("证书未激活", e);
return false;
}
@@ -104,7 +111,8 @@ public class AntCertificationUtil {
try {
PublicKey publicKey = issuer.getPublicKey();
verifySignature(publicKey, cert);
} catch (PayErrorException e) {
}
catch (PayErrorException e) {
LOGGER.error("证书链验证失败", e);
return false;
}
@@ -155,10 +163,12 @@ public class AntCertificationUtil {
private static boolean checkValidity(X509Certificate cert) {
try {
cert.checkValidity();
} catch (CertificateExpiredException e) {
}
catch (CertificateExpiredException e) {
LOGGER.error("证书已经过期");
return false;
} catch (CertificateNotYetValidException e) {
}
catch (CertificateNotYetValidException e) {
LOGGER.error("证书未激活");
return false;
}
@@ -169,7 +179,8 @@ public class AntCertificationUtil {
private static void verifySignature(PublicKey publicKey, X509Certificate cert) {
try {
cert.verify(publicKey);
} catch (GeneralSecurityException e) {
}
catch (GeneralSecurityException e) {
throw new PayErrorException(new PayException("证书校验失败", e.getMessage()));
}
}
@@ -276,10 +287,12 @@ public class AntCertificationUtil {
private static X509Certificate[] readPemCertChain(String cert) {
ByteArrayInputStream inputStream = new ByteArrayInputStream(cert.getBytes());
try {
CertificateFactory factory = CertificateFactory.getInstance("X.509", "BC");;
CertificateFactory factory = CertificateFactory.getInstance("X.509", "BC");
;
Collection<? extends Certificate> certificates = factory.generateCertificates(inputStream);
return certificates.toArray(new X509Certificate[certificates.size()]);
} catch (GeneralSecurityException e) {
}
catch (GeneralSecurityException e) {
LOGGER.error("提取根证书失败", e);
}
return null;
@@ -308,13 +321,15 @@ public class AntCertificationUtil {
certSN = fillMD5(certSN);
if (StringUtils.isEmpty(rootCertSN)) {
rootCertSN = certSN;
} else {
}
else {
rootCertSN = rootCertSN + "_" + certSN;
}
}
}
} catch (NoSuchAlgorithmException e) {
}
catch (NoSuchAlgorithmException e) {
LOGGER.error("提取根证书失败", e);
}
return rootCertSN;
@@ -332,7 +347,8 @@ public class AntCertificationUtil {
CertificateFactory factory = CertificateFactory.getInstance("X.509", "BC");
X509Certificate cert = (X509Certificate) factory.generateCertificate(inputStream);
return md5((cert.getIssuerX500Principal().getName() + cert.getSerialNumber()).getBytes());
} catch (GeneralSecurityException e) {
}
catch (GeneralSecurityException e) {
throw new PayErrorException(new PayException(" 获取公钥证书序列号异常", e.getMessage()));
}
}
@@ -368,7 +384,8 @@ public class AntCertificationUtil {
CertificateFactory factory = CertificateFactory.getInstance("X.509", "BC");
X509Certificate cert = (X509Certificate) factory.generateCertificate(inputStream);
return Base64.encode(cert.getPublicKey().getEncoded());
} catch (GeneralSecurityException e) {
}
catch (GeneralSecurityException e) {
throw new PayErrorException(new PayException(" 提取公钥证书中的公钥异常", e.getMessage()));
}
}
@@ -377,7 +394,8 @@ public class AntCertificationUtil {
public static String readFromInputStream(InputStream cert) {
try {
return new String(IOUtils.toByteArray(cert), StandardCharsets.UTF_8);
} catch (IOException e) {
}
catch (IOException e) {
throw new PayErrorException(new PayException("读取证书异常", e.getMessage()));
}
}

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pay-java-baidu</artifactId>

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>

View File

@@ -94,6 +94,7 @@ public abstract class BasePayService<PC extends PayConfigStorage> implements Pay
}
public BasePayService(PC payConfigStorage) {
this(payConfigStorage, null);
}
@@ -101,15 +102,11 @@ public abstract class BasePayService<PC extends PayConfigStorage> implements Pay
public BasePayService(PC payConfigStorage, HttpConfigStorage configStorage) {
setPayConfigStorage(payConfigStorage);
setRequestTemplateConfigStorage(configStorage);
initAfter();
}
/**
* 初始化之后执行
*/
protected void initAfter(){
}
/**
* Generate a Base64 encoded String from user , password
*

View File

@@ -428,7 +428,7 @@ public class HttpRequestTemplate {
return new ResponseEntity<>(statusCode, allHeaders, body);
}
catch (IOException e) {
throw new PayErrorException(new PayException("IOException", e.getLocalizedMessage()));
throw new PayErrorException(new PayException("IOException", e.getLocalizedMessage()), e);
}
finally {
httpRequest.releaseConnection();

View File

@@ -1,33 +1,15 @@
package com.egzosn.pay.common.util.sign;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.security.Security;
import java.util.Map;
import java.util.Set;
import java.util.SortedMap;
import java.util.UUID;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.http.message.BasicNameValuePair;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import static com.egzosn.pay.common.util.sign.SignTextUtils.parameterText;
import com.egzosn.pay.common.bean.SignType;
import com.egzosn.pay.common.bean.result.PayException;
import com.egzosn.pay.common.exception.PayErrorException;
import com.egzosn.pay.common.util.sign.encrypt.HmacSha256;
import com.egzosn.pay.common.util.str.StringUtils;
/**
* 签名 工具
@@ -209,5 +191,15 @@ public enum SignUtils implements SignType {
return this.verify(parameterText(params), sign, key, characterEncoding);
}
/**
* 初始化BC
*/
public static void initBc() {
if (null == Security.getProvider("BC")) {
Security.removeProvider("SunEC");
Security.addProvider(new BouncyCastleProvider());
}
}
}

View File

@@ -2,13 +2,13 @@ package com.egzosn.pay.common.util.sign.encrypt;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.Security;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.digest.DigestUtils;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import com.egzosn.pay.common.util.sign.SignUtils;
/**
* AES 加解密
@@ -30,12 +30,10 @@ public class AES {
private static final String ALGORITHM_MODE_PADDING = "AES/ECB/PKCS7Padding";
static {
if (null == Security.getProvider("BC")) {
Security.removeProvider("SunEC");
Security.addProvider(new BouncyCastleProvider());
}
SignUtils.initBc();
}
/**
* 解密
*

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>

View File

@@ -87,10 +87,10 @@ public class AliPayController {
aliPayConfigStorage.setAppId("2016080400165436");
// aliPayConfigStorage.setAppAuthToken("ISV代商户代用指定appAuthToken");
//普通公钥方式与证书公钥方式为两者取其一的方式
// keyPublic(aliPayConfigStorage);
// aliPayConfigStorage.setKeyPrivate("MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKroe/8h5vC4L6T+B2WdXiVwGsMvUKgb2XsKix6VY3m2wcf6tyzpNRDCNykbIwGtaeo7FshN+qZxdXHLiIam9goYncBit/8ojfLGy2gLxO/PXfzGxYGs0KsDZ+ryVPPmE34ZZ8jiJpR0ygzCFl8pN3QJPJRGTJn5+FTT9EF/9zyZAgMBAAECgYAktngcYC35u7cQXDk+jMVyiVhWYU2ULxdSpPspgLGzrZyG1saOcTIi/XVX8Spd6+B6nmLQeF/FbU3rOeuD8U2clzul2Z2YMbJ0FYay9oVZFfp5gTEFpFRTVfzqUaZQBIjJe/xHL9kQVqc5xHlE/LVA27/Kx3dbC35Y7B4EVBDYAQJBAOhsX8ZreWLKPhXiXHTyLmNKhOHJc+0tFH7Ktise/0rNspojU7o9prOatKpNylp9v6kux7migcMRdVUWWiVe+4ECQQC8PqsuEz7B0yqirQchRg1DbHjh64bw9Kj82EN1/NzOUd53tP9tg+SO97EzsibK1F7tOcuwqsa7n2aY48mQ+y0ZAkBndA2xcRcnvOOjtAz5VO8G7R12rse181HjGfG6AeMadbKg30aeaGCyIxN1loiSfNR5xsPJwibGIBg81mUrqzqBAkB+K6rkaPXJR9XtzvdWb/N3235yPkDlw7Z4MiOVM3RzvR/VMDV7m8lXoeDde2zQyeMOMYy6ztwA6WgE1bhGOnQRAkEAouUBv1sVdSBlsexX15qphOmAevzYrpufKgJIRLFWQxroXMS7FTesj+f+FmGrpPCxIde1dqJ8lqYLTyJmbzMPYw==");
certKeyPublic(aliPayConfigStorage);
aliPayConfigStorage.setKeyPrivate("MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCw7MD2Cwv/jnXssFjXnGx3JlGF57gJa2aYbJRV8MnNiPVpX4Ha+8ZjnQDhvkrWH4hHmzcujOr213HqloMpUSYBzCPiXGVRUUvdimejcHHTod7nI4g6nztzzfey/TXNDHmp7vY3pOIcjB0Zn0pkNAz2tKAFkqb4raHOqTB0QA0zD24Cn+26J2UJyYRcgeH0GtSQuUrm7yaGsuKakh+qtgWF6R71n5PMGOTQ5LH3i0WVHfCBkNGgJC6yC96HR4D7cosoyKD0+lp8UB/NVUWl7Tt/KLOgFUwh0GKSYFfv56O/VBV2+xqCGE4PlZESfVuOqz5vjjxzw3xDAUJrV8hSX/AJAgMBAAECggEBAKE0d3U4B4yo/2XUIH8EdgfykCFUSum6RFbpyBauORHfksyaSzV+ZvtomN8XhhSn0oJ8OMFfgM+86nz2+zdwSxMkMCYWTfLUAi4v59KRqAVO3kz4oS3Y3FDeAK3D7XuRvGFL7GgzAhtEx1cLPrsiehVn6s5pG15GxsIIgq/JlL1J88wn1zENLrVHmD6z/JpXvfb/RS1yR+5lyoohp4g0Ph9jJ3bCyUbRpK0QkPEzgAuWL0K2ITCL7PYHNAplI8d2xHHOLF9Qdjyx+ZrQ/RxtqzfyWzhqjsmp2qlgNCxWlt3woS9UhDB+nRvjEoWTJmIOszAMYuj8wGlX+3Ui3ALOdQECgYEA25EqnFPFinUnzgNvB6NYmh5STmZun6s4bUOLqwefKtEvrOtRwTu7sB7NIf37fizG3/MJUWHxiLy2/3ub4d2JxdDNBtJoEqnp6QB12qglCNa4CajdjtJa1dR81F9QvytsqEkmPYXFPPyviB0FcSIDAGMb3IbwvIfzBPY9WY8dJnECgYEAzkg3yKEFBZ8BU0WQ+3hyfKUoAhBEnxouxRSTBcXxwstJRiqaGTVe5aoJGQI+0xS7Z6q07XDtN2t97s6DnRLWbljsX6B64itzNhXRyzjdD3iZDU/KSw7khjhXf8XOZaj9eXmACDiUnkEn1xsM8bLiRGqB8y5f3aMY/RpuACGXnxkCgYEAx/zwT9Vpr1RIfjfYcJ+Su0X0994K0roUukj0tUJK8qf4gcsQ+y1aJe/YLib1ZBaKyj7G9O5+HmqtUAUZld/AdoJZzOXmz2EeYhD+R7wxh1xz4rCBpW3qOKvDS3jJxmZaIOoHv6/RWFxb0WGFrGcrTrX3EaWDLmWxr4pNlP5qsbECgYATllntrBR8/ycyEAX/SuWcHlaZM5BAh0zvm8+GGdCmDYWMqxjs0duL9URd4o+ynWJaKqR5c2KjA4r2tRdcP+Cqo7j2L5fbiAKtnQ7JvEGJaYsm72+nBuf+MrVkRZUepBhFg5r7rNu31zoAO+pTvQetNWvXeozRz93ckrjlPEtYaQKBgQDFwbV92rlRMLjZzlY+o0knoeJBjPQmPdiBTpGNimdy9L4c2Ure7affjcUiYhkKqrK5k5SScJTATgyQ7JF346FdtUtZ/6Kkj1RwJmmprPrDa9CATLoTle7g9OVd4sHT2ITHZMzPaF3ILvzcwJ70AD1xcxCQb+/7sDPmw7Mc8gOA7Q==");
keyPublic(aliPayConfigStorage);
aliPayConfigStorage.setKeyPrivate("MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKroe/8h5vC4L6T+B2WdXiVwGsMvUKgb2XsKix6VY3m2wcf6tyzpNRDCNykbIwGtaeo7FshN+qZxdXHLiIam9goYncBit/8ojfLGy2gLxO/PXfzGxYGs0KsDZ+ryVPPmE34ZZ8jiJpR0ygzCFl8pN3QJPJRGTJn5+FTT9EF/9zyZAgMBAAECgYAktngcYC35u7cQXDk+jMVyiVhWYU2ULxdSpPspgLGzrZyG1saOcTIi/XVX8Spd6+B6nmLQeF/FbU3rOeuD8U2clzul2Z2YMbJ0FYay9oVZFfp5gTEFpFRTVfzqUaZQBIjJe/xHL9kQVqc5xHlE/LVA27/Kx3dbC35Y7B4EVBDYAQJBAOhsX8ZreWLKPhXiXHTyLmNKhOHJc+0tFH7Ktise/0rNspojU7o9prOatKpNylp9v6kux7migcMRdVUWWiVe+4ECQQC8PqsuEz7B0yqirQchRg1DbHjh64bw9Kj82EN1/NzOUd53tP9tg+SO97EzsibK1F7tOcuwqsa7n2aY48mQ+y0ZAkBndA2xcRcnvOOjtAz5VO8G7R12rse181HjGfG6AeMadbKg30aeaGCyIxN1loiSfNR5xsPJwibGIBg81mUrqzqBAkB+K6rkaPXJR9XtzvdWb/N3235yPkDlw7Z4MiOVM3RzvR/VMDV7m8lXoeDde2zQyeMOMYy6ztwA6WgE1bhGOnQRAkEAouUBv1sVdSBlsexX15qphOmAevzYrpufKgJIRLFWQxroXMS7FTesj+f+FmGrpPCxIde1dqJ8lqYLTyJmbzMPYw==");
// certKeyPublic(aliPayConfigStorage);
// aliPayConfigStorage.setKeyPrivate("MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCw7MD2Cwv/jnXssFjXnGx3JlGF57gJa2aYbJRV8MnNiPVpX4Ha+8ZjnQDhvkrWH4hHmzcujOr213HqloMpUSYBzCPiXGVRUUvdimejcHHTod7nI4g6nztzzfey/TXNDHmp7vY3pOIcjB0Zn0pkNAz2tKAFkqb4raHOqTB0QA0zD24Cn+26J2UJyYRcgeH0GtSQuUrm7yaGsuKakh+qtgWF6R71n5PMGOTQ5LH3i0WVHfCBkNGgJC6yC96HR4D7cosoyKD0+lp8UB/NVUWl7Tt/KLOgFUwh0GKSYFfv56O/VBV2+xqCGE4PlZESfVuOqz5vjjxzw3xDAUJrV8hSX/AJAgMBAAECggEBAKE0d3U4B4yo/2XUIH8EdgfykCFUSum6RFbpyBauORHfksyaSzV+ZvtomN8XhhSn0oJ8OMFfgM+86nz2+zdwSxMkMCYWTfLUAi4v59KRqAVO3kz4oS3Y3FDeAK3D7XuRvGFL7GgzAhtEx1cLPrsiehVn6s5pG15GxsIIgq/JlL1J88wn1zENLrVHmD6z/JpXvfb/RS1yR+5lyoohp4g0Ph9jJ3bCyUbRpK0QkPEzgAuWL0K2ITCL7PYHNAplI8d2xHHOLF9Qdjyx+ZrQ/RxtqzfyWzhqjsmp2qlgNCxWlt3woS9UhDB+nRvjEoWTJmIOszAMYuj8wGlX+3Ui3ALOdQECgYEA25EqnFPFinUnzgNvB6NYmh5STmZun6s4bUOLqwefKtEvrOtRwTu7sB7NIf37fizG3/MJUWHxiLy2/3ub4d2JxdDNBtJoEqnp6QB12qglCNa4CajdjtJa1dR81F9QvytsqEkmPYXFPPyviB0FcSIDAGMb3IbwvIfzBPY9WY8dJnECgYEAzkg3yKEFBZ8BU0WQ+3hyfKUoAhBEnxouxRSTBcXxwstJRiqaGTVe5aoJGQI+0xS7Z6q07XDtN2t97s6DnRLWbljsX6B64itzNhXRyzjdD3iZDU/KSw7khjhXf8XOZaj9eXmACDiUnkEn1xsM8bLiRGqB8y5f3aMY/RpuACGXnxkCgYEAx/zwT9Vpr1RIfjfYcJ+Su0X0994K0roUukj0tUJK8qf4gcsQ+y1aJe/YLib1ZBaKyj7G9O5+HmqtUAUZld/AdoJZzOXmz2EeYhD+R7wxh1xz4rCBpW3qOKvDS3jJxmZaIOoHv6/RWFxb0WGFrGcrTrX3EaWDLmWxr4pNlP5qsbECgYATllntrBR8/ycyEAX/SuWcHlaZM5BAh0zvm8+GGdCmDYWMqxjs0duL9URd4o+ynWJaKqR5c2KjA4r2tRdcP+Cqo7j2L5fbiAKtnQ7JvEGJaYsm72+nBuf+MrVkRZUepBhFg5r7rNu31zoAO+pTvQetNWvXeozRz93ckrjlPEtYaQKBgQDFwbV92rlRMLjZzlY+o0knoeJBjPQmPdiBTpGNimdy9L4c2Ure7affjcUiYhkKqrK5k5SScJTATgyQ7JF346FdtUtZ/6Kkj1RwJmmprPrDa9CATLoTle7g9OVd4sHT2ITHZMzPaF3ILvzcwJ70AD1xcxCQb+/7sDPmw7Mc8gOA7Q==");
aliPayConfigStorage.setNotifyUrl("http://pay.egzosn.com/payBack.json");
aliPayConfigStorage.setReturnUrl("http://pay.egzosn.com/payBack.html");
aliPayConfigStorage.setSignType(SignUtils.RSA2.name());

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pay-java-fuiou</artifactId>

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pay-java-payoneer</artifactId>

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pay-java-wx-youdian</artifactId>

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pay-java-wx</artifactId>

View File

@@ -98,6 +98,7 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> {
*/
public WxPayService(WxPayConfigStorage payConfigStorage) {
super(payConfigStorage);
}
/**
@@ -109,7 +110,9 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> {
public WxPayService(WxPayConfigStorage payConfigStorage, HttpConfigStorage configStorage) {
super(payConfigStorage, configStorage);
}
{
initAfter();
}
/**
* 辅助api
@@ -132,7 +135,6 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> {
/**
* 初始化之后执行
*/
@Override
protected void initAfter() {
payConfigStorage.setPartner(StringUtils.isNotEmpty(payConfigStorage.getSubMchId()));
// new Thread(() -> {

View File

@@ -69,10 +69,10 @@ public class WxProfitSharingService extends WxPayService implements ProfitSharin
*/
@Override
protected void initAfter() {
new Thread(() -> {
// new Thread(() -> {
payConfigStorage.loadCertEnvironment();
getAssistService();
}).start();
// }).start();
}

View File

@@ -24,6 +24,7 @@ import javax.crypto.spec.SecretKeySpec;
import javax.management.openmbean.InvalidKeyException;
import com.egzosn.pay.common.exception.PayErrorException;
import com.egzosn.pay.common.util.sign.SignUtils;
import com.egzosn.pay.common.util.sign.encrypt.Base64;
import com.egzosn.pay.wx.bean.WxPayError;
import com.egzosn.pay.wx.v3.bean.CertEnvironment;
@@ -54,7 +55,7 @@ public final class AntCertificationUtil {
if (javaVersion.contains("1.8") || javaVersion.startsWith("8")){
Security.setProperty("crypto.policy", "unlimited");
}
SignUtils.initBc();
try {
PKCS12_KEY_STORE = KeyStore.getInstance("PKCS12");
}

View File

@@ -5,7 +5,7 @@
<parent>
<artifactId>pay-java-parent</artifactId>
<groupId>com.egzosn</groupId>
<version>2.14.4</version>
<version>2.14.4-fix</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@@ -7,7 +7,7 @@
<groupId>com.egzosn</groupId>
<artifactId>pay-java-parent</artifactId>
<packaging>pom</packaging>
<version>2.14.4</version>
<version>2.14.4-fix</version>
<name>Pay Java - Parent</name>
<description>Pay Java Parent</description>
@@ -39,11 +39,6 @@
<email>hocgin@gmail.com</email>
<url>https://github.com/hocgin</url>
</developer>
<developer>
<name>Menjoe</name>
<email>1030009014@qq.com</email>
<url>https://gitee.com/menjoe-z</url>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/egzosn/pay-java-parent.git</connection>
@@ -70,7 +65,7 @@
<properties>
<pay.version>2.14.4</pay.version>
<pay.version>2.14.4-fix</pay.version>
<httpmime.version>4.5.4</httpmime.version>
<log4j.version>1.2.17</log4j.version>
<fastjson.version>1.2.73</fastjson.version>