官方文档,我是 mac 电脑(curl + openssl),生成了证书文件:
- apiclient_cert.p12
- apiclient_cert.pem
- apiclient_key.pem
当我程序写好,本地测试正常,部署到服务器后:
cURL error 58: unable to load client cert: -8018 (SEC_ERROR_UNKNOWN_PKCS11_ERROR)
curl
curl -V
curl 8.1.2 libcurl/8.1.2 NSS/3.79
重新源码编译 curl:
tar -zxvf curl-7.58.0.tar.gz
cd curl-7.58.0
./configure --with-ssl=/usr/include --without-nss
make && make install
然后
curl -V
curl 7.58.0 libcurl/7.58.0 OpenSSL/1.0.2k
重新源码编译 php
php-7.4.33.tar.bz2
tar -jxvf php-7.4.33.tar.bz2
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/conf.d --enable-fpm ...
phpinfo 中 curl 部分也对了
SSL Version | OpenSSL/1.0.2k |
执行退款也对了:
{
"return_code": "SUCCESS",
"return_msg": "OK",
}
大功告成!
参考: