首页 > 代码库 > Android 支付宝快捷支付集成及ALI64错误的有效解决

Android 支付宝快捷支付集成及ALI64错误的有效解决

支付宝开放平台採用了RSA安全签名机制,开发人员能够通过支付宝公钥验证消息来源。同一时候可使用自己的私钥对信息进行加密。

RSA算法及数字签名机制是支付宝开放平台与开发人员网关安全通信的基础。若开发人员不熟悉RSA及数字签名。请先查阅相关文档。


1、RSA私钥及公钥生成
官方提供的开发文档存在一些误导,这里简要概括为这几句话:
RSA密钥生成命令
生成RSA私钥
openssl>genrsa -out rsa_private_key.pem 1024
生成RSA公钥
openssl>rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
将RSA私钥转换成PKCS8格式
openssl>pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

注意:“>”符号后面的才是须要输入的命令。
2、技术分享

  • 在上图应用公钥(RSA)中填写你生成的RSA公钥,应用网关可不填。
  • 切记一定要点击“合作伙伴密钥”。进入该页面在RSA加密处填写你生成的RSA公钥(和上面的一样),例如以下图
    技术分享
    3、配置支付宝提供的Demo
    技术分享
  • 请保证填写的商户PID、商户收款账号的正确性
  • 商户私钥就是你生成的pkcs8格式的私钥,pkcs8!!!
  • 尤其注意。这里的支付宝公钥是“合作伙伴密钥”中查看到的支付宝公钥,我在图中已用蓝色框标识出。
    4、执行demo成功后,将该demo继承到你的项目中。并注意要配置好Android Manifest。

附:这里免积分提供openssl工具:
http://download.csdn.net/detail/leoleohan/9038725

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

Android 支付宝快捷支付集成及ALI64错误的有效解决