fix(pay): 修复支付宝证书模式的签名验证
- 修改 AbstractAlipayPayClient 类中的签名验证逻辑 - 在证书模式下,使用正确的公钥编码方式进行验证- 优化代码,确保支付宝签名验证的正确性和可靠性pull/204/head
parent
2382c3d844
commit
9f4c7f1fea
|
@ -353,7 +353,7 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient<AlipayPa
|
|||
} else if (Objects.equals(config.getMode(), MODE_CERTIFICATE)) {
|
||||
// 由于 rsaCertCheckV1 的第二个参数是 path,所以不能这么调用!!!通过阅读源码,发现可以采用如下方式!
|
||||
X509Certificate cert = AntCertificationUtil.getCertFromContent(config.getAlipayPublicCertContent());
|
||||
String publicKey = Base64.encodeBase64String(cert.getEncoded());
|
||||
String publicKey = Base64.encodeBase64String(cert.getPublicKey().getEncoded());
|
||||
verify = AlipaySignature.rsaCheckV1(params, publicKey,
|
||||
StandardCharsets.UTF_8.name(), config.getSignType());
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue