From 5e9242ea8f2b146f8ef716d9692eef80f1d199f7 Mon Sep 17 00:00:00 2001 From: zhengfangyuan Date: Wed, 24 Aug 2022 17:38:16 +0800 Subject: [PATCH] fix pay v3 --- .../wxpay/v3/auth/PrivateKeySigner.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/auth/PrivateKeySigner.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/auth/PrivateKeySigner.java index c337d48d..cd8f078e 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/auth/PrivateKeySigner.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/v3/auth/PrivateKeySigner.java @@ -32,4 +32,19 @@ public class PrivateKeySigner implements Signer { throw new WxRuntimeException("无效的私钥", e); } } + + public String signMessage(byte[] message) { + try { + Signature sign = Signature.getInstance("SHA256withRSA"); + sign.initSign(privateKey); + sign.update(message); + return Base64.getEncoder().encodeToString(sign.sign()); + } catch (NoSuchAlgorithmException e) { + throw new WxRuntimeException("当前Java环境不支持SHA256withRSA", e); + } catch (SignatureException e) { + throw new WxRuntimeException("签名计算失败", e); + } catch (InvalidKeyException e) { + throw new WxRuntimeException("无效的私钥", e); + } + } }