微信支付平台证书异常
tashuo opened this issue · 2 comments
tashuo commented
运行环境
- OS: CentOS 7.9.2009
- PHP: 7.4.5
- wechatpay-php: 1.4.8
描述你的问题现象
- 微信支付平台证书我是在本机(Mac)上使用
CertificateDownloader.php
工具生成并上传至服务器 - 在使用文档中native下单的示例代码时报错:
UnexpectedValueException: Read the $certificate failed, please check it whether or nor correct in file /var/www/vendor/wechatpay/wechatpay/src/Util/PemUtil.php on line 90
商户api私钥apiclient_key.pem
处理没问题,这个是微信支付平台证书的报错,请问是因为平台(mac -> linux)的原因导致证书处理异常吗?还是其他原因?
附生成的微信支付平台证书格式:
-----BEGIN CERTIFICATE-----
xxxx
xxxx
xxxx
-----END CERTIFICATE-----
TheNorthMemory commented
Lines 90 to 95 in fbe8d7c
wechatpay-php/src/Util/PemUtil.php
Lines 86 to 94 in fbe8d7c
README上的L91行决定了L95行的解析,进而影响PemUtil.php:L90行,请检查你初始化参数平台证书路径是否带了file://
协议。
tashuo commented
Lines 90 to 95 in fbe8d7c
wechatpay-php/src/Util/PemUtil.php
Lines 86 to 94 in fbe8d7c
README上的L91行决定了L95行的解析,进而影响PemUtil.php:L90行,请检查你初始化参数平台证书路径是否带了
file://
协议。
加了file://
前缀的,商户私钥证书都可以解析出来,后来直接用openssl_pkey_get_public(file_get_contents($platformCertificateFilePath))
的方式可以正常解析,刚试回file://
的形式突然又没问题了,多谢解答!