diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java index a8ad909b3..293c52eac 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java @@ -14,7 +14,6 @@ import java.security.PrivateKey; import java.security.PublicKey; import java.security.cert.Certificate; import java.security.cert.X509Certificate; -import java.util.Base64; import java.util.Optional; import javax.net.ssl.SSLContext; import lombok.Data; @@ -295,10 +294,6 @@ public class WxPayConfig { } try { if (merchantPrivateKey == null) { - if (StringUtils.isNotBlank(this.getPrivateKeyString())) { - this.setPrivateKeyString(Base64.getEncoder().encodeToString(this.getPrivateKeyString().getBytes())); - } - try (InputStream keyInputStream = this.loadConfigInputStream(this.getPrivateKeyString(), this.getPrivateKeyPath(), this.privateKeyContent, "privateKeyPath")) { merchantPrivateKey = PemUtils.loadPrivateKey(keyInputStream); diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/config/CustomizedWxPayConfigTest.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/config/CustomizedWxPayConfigTest.java index a42026e3e..3b2bdfeaa 100644 --- a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/config/CustomizedWxPayConfigTest.java +++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/config/CustomizedWxPayConfigTest.java @@ -1,5 +1,9 @@ package com.github.binarywang.wxpay.config; +import static org.testng.Assert.assertEquals; + +import com.github.binarywang.wxpay.bean.result.WxPayOrderQueryV3Result; +import com.github.binarywang.wxpay.constant.WxPayErrorCode; import com.github.binarywang.wxpay.exception.WxPayException; import com.github.binarywang.wxpay.service.WxPayService; import com.github.binarywang.wxpay.testbase.CustomizedApiTestModule; @@ -30,10 +34,9 @@ public class CustomizedWxPayConfigTest { public void testCustomizerV3HttpClient() { try { - wxPayService.queryOrderV3("a", null); + WxPayOrderQueryV3Result result = wxPayService.queryOrderV3("a", null); } catch (WxPayException e) { - // ignore - e.printStackTrace(); + assertEquals(e.getErrCode(), WxPayErrorCode.RefundQuery.PARAM_ERROR); } } } diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/config/WxPayConfigTest.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/config/WxPayConfigTest.java index 72750e01c..46bc23aac 100644 --- a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/config/WxPayConfigTest.java +++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/config/WxPayConfigTest.java @@ -1,16 +1,7 @@ package com.github.binarywang.wxpay.config; -import com.github.binarywang.wxpay.exception.WxPayException; -import org.bouncycastle.jce.provider.BouncyCastleProvider; -import org.bouncycastle.pqc.jcajce.provider.util.KeyUtil; import org.testng.annotations.Test; -import java.security.KeyPair; -import java.security.KeyPairGenerator; -import java.security.SecureRandom; -import java.security.Security; -import java.util.Base64; - /** *
* Created by BinaryWang on 2017/6/18.
@@ -54,19 +45,4 @@ public class WxPayConfigTest {
payConfig.initSSLContext();
}
-
- @Test
- public void testInitApiV3HttpClient() throws Exception {
- Security.addProvider(new BouncyCastleProvider());
- KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA","BC");
- keyPairGenerator.initialize(2048,new SecureRandom());
- KeyPair keyPair = keyPairGenerator.genKeyPair();
- byte[] encoded = keyPair.getPrivate().getEncoded();
- // 模拟用户配置
- String privateKeyString = Base64.getEncoder().encodeToString(encoded);
- payConfig.setPrivateKeyString(privateKeyString);
- payConfig.setApiV3Key("Test");
- payConfig.initApiV3HttpClient();
- }
-
}
diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/testbase/CustomizedApiTestModule.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/testbase/CustomizedApiTestModule.java
index a0cc399ea..484227e34 100644
--- a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/testbase/CustomizedApiTestModule.java
+++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/testbase/CustomizedApiTestModule.java
@@ -6,15 +6,14 @@ import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
import com.google.inject.Binder;
import com.google.inject.Module;
import com.thoughtworks.xstream.XStream;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
import me.chanjar.weixin.common.error.WxRuntimeException;
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
import org.apache.http.HttpRequestInterceptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.io.InputStream;
-
/**
* The type Api test module.
*/
@@ -39,7 +38,22 @@ public class CustomizedApiTestModule implements Module {
config.setHttpClientBuilderCustomizer((builder) -> {
builder.addInterceptorLast((HttpRequestInterceptor) (r, c) -> System.out.println("--------> HttpRequestInterceptor ..."));
});
+ try (FileInputStream fis = new FileInputStream(config.getPrivateKeyPath());
+ InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8);
+ BufferedReader reader = new BufferedReader(isr)) {
+ StringBuilder stringBuilder = new StringBuilder();
+ String line;
+ while ((line = reader.readLine()) != null) {
+ stringBuilder.append(line);
+ stringBuilder.append(System.lineSeparator());
+ }
+
+ String fileContent = stringBuilder.toString();
+ config.setPrivateKeyString(fileContent);
+ System.out.println(fileContent);
+
+ }
WxPayService wxService = new WxPayServiceImpl();
wxService.setConfig(config);