From 23293e87815f75840f0ead20d7a3d3014f863933 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Fri, 30 Jun 2017 16:55:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98=E8=AF=81?= =?UTF-8?q?=E4=B9=A6=E8=B7=AF=E5=BE=84=E5=88=A4=E6=96=AD=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../binarywang/wxpay/config/WxPayConfig.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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 e6c587a1..d05259ce 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 @@ -158,18 +158,27 @@ public class WxPayConfig { InputStream inputStream; final String prefix = "classpath:"; + String fileHasProblemMsg = "证书文件【" + this.keyPath + "】有问题,请核实!"; + String fileNotFoundMsg = "证书文件【" + this.keyPath + "】不存在,请核实!"; if (this.keyPath.startsWith(prefix)) { - inputStream = WxPayConfig.class.getResourceAsStream(this.keyPath.replace(prefix, "")); + String path = StringUtils.removeFirst(this.keyPath, prefix); + if (!path.startsWith("/")) { + path = "/" + path; + } + inputStream = WxPayConfig.class.getResourceAsStream(path); + if (inputStream == null) { + throw new WxPayException(fileNotFoundMsg); + } } else { try { File file = new File(this.keyPath); if (!file.exists()) { - throw new WxPayException("证书文件【" + file.getPath() + "】不存在!"); + throw new WxPayException(fileNotFoundMsg); } inputStream = new FileInputStream(file); } catch (IOException e) { - throw new WxPayException("证书文件有问题,请核实!", e); + throw new WxPayException(fileHasProblemMsg, e); } } @@ -180,7 +189,7 @@ public class WxPayConfig { this.sslContext = SSLContexts.custom().loadKeyMaterial(keystore, partnerId2charArray).build(); return this.sslContext; } catch (Exception e) { - throw new WxPayException("证书文件有问题,请核实!", e); + throw new WxPayException(fileHasProblemMsg, e); } finally { IOUtils.closeQuietly(inputStream); }