由easywechat的cli "./vendor/bin/easywechat payment:rsa_public_key" 获取RSA公钥时
生成的.pem文件内的公钥默认是无格式的
根据easywechat的文档,'rsa_public_key_path'填写该
.pem文件的路径,然后报错: openssl_public_encrypt “key parameter is not a valid key”
这里还需要做两件事,easywechat文档并没有做说明....
1.不能直接用生成的.pem,而是应该转成每64个字符为一行的格式(可以直接复制cli的结果):
如执行了easywechat payment:rsa_public_key
命令后返回:
直接将pub_key的内容复制到.pem即可
2.但这种格式只是 PKCS#1 的, PHP不接受这种格式,我们要将其转为PKCS#8
由微信支付的手册,执行openssl rsa -RSAPublicKey_in -in <filename> -pubout
将输出结果复制到.pem即可
参考:https://www.west.cn/info/html/wangluobiancheng/Phpbiancheng/20180905/4557702.html