mirror of
https://gitee.com/zoujingli/WeChatDeveloper.git
synced 2025-11-06 20:02:07 +08:00
fix: 微信支付证书公钥验证更新
This commit is contained in:
parent
78c941a558
commit
4d9994b0a2
@ -118,7 +118,7 @@ abstract class BasicWePay
|
||||
}
|
||||
|
||||
// 自动配置平台证书
|
||||
if (empty($this->config['mp_cert_serial']) || empty($this->config['mp_cert_content'])) {
|
||||
if (empty($options['mp_cert_serial']) || empty($options['mp_cert_content'])) {
|
||||
if ($this->autoCert) $this->_autoCert();
|
||||
} else {
|
||||
$this->config['mp_cert_serial'] = $options['mp_cert_serial'];
|
||||
@ -340,8 +340,11 @@ abstract class BasicWePay
|
||||
*/
|
||||
protected function signVerify($data, $sign, $serial)
|
||||
{
|
||||
$cert = $this->_getCert($serial);
|
||||
return @openssl_verify($data, base64_decode($sign), openssl_x509_read($cert), 'sha256WithRSAEncryption');
|
||||
if (stripos($this->config['mp_cert_serial'], 'PUB_KEY_ID_') !== false) {
|
||||
return @openssl_verify($data, base64_decode($sign), $this->config['mp_cert_content'], OPENSSL_ALGO_SHA256);
|
||||
} else {
|
||||
return @openssl_verify($data, base64_decode($sign), openssl_x509_read($this->_getCert($serial)), 'sha256WithRSAEncryption');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -16,20 +16,20 @@
|
||||
|
||||
$certPublic = <<<CERT
|
||||
-----BEGIN CERTIFICATE-----
|
||||
具体证书全文内容
|
||||
文件文本内容
|
||||
-----END CERTIFICATE-----
|
||||
CERT;
|
||||
|
||||
$certPrivate = <<<CERT
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
具体证书全文内容
|
||||
文件文本内容
|
||||
-----END PRIVATE KEY-----
|
||||
CERT;
|
||||
|
||||
// 支付证书内容
|
||||
$certPayment = <<<CERT
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
具体证书全文内容
|
||||
文件文本内容
|
||||
-----END PUBLIC KEY-----
|
||||
CERT;
|
||||
|
||||
@ -62,19 +62,19 @@ CERT;
|
||||
|
||||
return [
|
||||
// 可选,公众号APPID
|
||||
'appid' => 'wxbbc5782d4d77a43b',
|
||||
'appid' => 'wx3760axxxxxxxxxxx',
|
||||
// 必填,微信商户编号ID
|
||||
'mch_id' => '1643053551',
|
||||
'mch_id' => '152xxxxxxxx',
|
||||
// 必填,微信商户V3接口密钥
|
||||
'mch_v3_key' => 'ThinkAdminThinkAdminThinkAdminTh',
|
||||
'mch_v3_key' => '98b7f45xxxxxxxxxxxxxxxxxxxxxxxxxx',
|
||||
// 可选,微信商户证书序列号,可从公钥中提取,请求签名使用
|
||||
'cert_serial' => '',
|
||||
'cert_serial' => '49055xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
|
||||
// 必填,微信商户证书公钥,支持证书内容或文件路径,仅用于提取序号
|
||||
'cert_public' => $certPublic,
|
||||
// 必填,微信商户证书私钥,支持证书内容或文件路径,用请求数据签名
|
||||
// 必填,微信商户证书私钥,支持证书内容或文件路径,用于请求数据签名
|
||||
'cert_private' => $certPrivate,
|
||||
// 可选,微信平台证书序号或支付证书序号,用于接口请求序号
|
||||
'mp_cert_serial' => 'PUB_KEY_ID_0116430535512025030300389200001906',
|
||||
'mp_cert_serial' => 'PUB_KEY_ID_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
|
||||
// 可选,微信平台证书内容或支付证书内容
|
||||
'mp_cert_content' => $certPayment,
|
||||
// 可选,运行时的文件缓存路径
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user