支付宝APP支付开发报错- IOException : DER input, Integer tag error
支付宝APP支付Java开发报错:
1 java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : DER input, Integer tag error
后来发现,原来是支付宝,生成的命令有问题,参数-nocrypt放错位置
将(3) 的命令改为:
openssl pkcs8 -topk8 -nocrypt -inform PEM -in rsa_private_key.pem -outform PEM outform
完整命令:(mac不需要安装openssl 自带的有 直接在终端里输入命令,windows需要安装)
1、openssl genrsa -out rsa_private_key.pem 1024
2、openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
3、openssl pkcs8 -topk8 -nocrypt -inform PEM -in rsa_private_key.pem -outform PEM outform
执行完第2步后生成的标准公钥和私钥 mac在user的目录下,Windows的话应该是在C:\alipay\bin目录下,(我用的是mac)如图:
生成标准的rsa格式的公钥和私钥可以复制一份改成txt格式,去掉回车换行符,便于使用(红框里面的)
执行完 第3部后 在终端里会出现那个 pkcs8的秘钥 需要把它手动复制出来保存下,自己可以建一个TXT的文档,保存到里面。之后 再复制文档一下 改成.pem格式的 要是后台Java用到的话。
去支付宝商家平台上 上传刚才的标准rsa公钥生成支付宝公钥
https://b.alipay.com/order/pidAndKey.htm
最后完整的相关钥匙
相关参考:http://www.cnblogs.com/draenei/p/5322940.html
网友评论