由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

posted on 2019-01-31 16:39  SHQHDMR  阅读(442)  评论(0编辑  收藏  举报