您的位置:首页 > 其它

支付宝 报错 rsa_private read error : private key is NULL解决方法

2013-09-13 14:13 627 查看
原因:

真机调试IOS支付宝功能GDB出现 rsa_private read error : private key is NULL提示

调试iOS 支付宝SDK的时候,运行demo,把

Partner(合作商户 ID)

Seller(账户 ID)

RSA public key(支付宝公钥)

RSA private key(商户私钥)

都放到plist文件了,运行的时候,报错 rsa_private read error : private key isNULL

我确定的是RSA private key肯定是有的,调试了下



bio_private= BIO_new(BIO_s_file());

BIO_read_filename(bio_private,private_key_file_path);

rsa_private= PEM_read_bio_RSAPrivateKey(bio_private, NULL, NULL,"");

if(rsa_private != nil) {

这里,rsa_private 返回空, private_key_file_path 这些值都是有的

解决方法:

[b]将私钥转成PKCS8替换一下原私钥即可

[/b]

1、生成私钥pem, 执行命令openssl
genrsa -out rsa_private_key.pem 1024
2、生成公钥,执行命令openssl
rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
3、将RSA私钥转换成PKCS8格式,命令执行openssl
pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt PHP服务端语言读取私钥不需要PKCS8转换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: