注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

早衰男的巢

大音希声 道隐无名

 
 
 

日志

 
 

Android笔记:再做支付宝集成遇红米手机上闪退  

2014-04-22 18:43:07|  分类: android笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
应用在触发支付宝的时候唯独在 红米手机会闪退,查log提示出错的位置在我从支付宝SDK的DEMO里copy出来生成订单参数的位置

04-22 17:48:12.110: W/System.err(7886): java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
04-22 17:48:12.110: W/System.err(7886): at org.apache.harmony.xnet.provider.jsse.OpenSSLRSAKeyFactory.engineGeneratePrivate(OpenSSLRSAKeyFactory.java:77)
04-22 17:48:12.110: W/System.err(7886): at java.security.KeyFactory.generatePrivate(KeyFactory.java:186)
04-22 17:48:12.110: W/System.err(7886): at com.test.apps.Rsa.sign(Rsa.java:68)
04-22 17:48:12.110: W/System.err(7886): at com.test.apps.Firstpay$1$1.run(Firstpay.java:78)
04-22 17:48:12.110: W/System.err(7886): Caused by: java.lang.RuntimeException: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
04-22 17:48:12.111: W/System.err(7886): at org.apache.harmony.xnet.provider.jsse.NativeCrypto.d2i_PKCS8_PRIV_KEY_INFO(Native Method)
04-22 17:48:12.111: W/System.err(7886): at org.apache.harmony.xnet.provider.jsse.OpenSSLRSAKeyFactory.engineGeneratePrivate(OpenSSLRSAKeyFactory.java:73)
04-22 17:48:12.111: W/System.err(7886): ... 3 more
04-22 17:48:12.111: D/law_cfg(7886): 未编码的 raw sign:null

最终因为生成的 sign 为 null导致下一步 uri encode(null) 出错。
上网搜了一下问题出在 支付宝demo 的 Rsa.java 67行 (log提示是68行)

#67 KeyFactory keyf = KeyFactory.getInstance("RSA");

#68 PrivateKey priKey = keyf.generatePrivate(priPKCS8);

根据网上说的方法增加一个参数

KeyFactory keyf = KeyFactory.getInstance("RSA","BC"); //根据论坛的方法增加 Provider 参数,指定值“BC”

再运行..ok了
  评论这张
 
阅读(2438)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018