关于note2等(Android4.1版本)以上无法启动支付宝的问题"java.security.spec.InvalidKeySpecException"
2013-04-22 20:16
711 查看
最近在做一些新机子适配时,发现应用在启动支付宝时启动异常的问题。
一开始以为是note2的问题。
先是打跑跑debug,发现是throws exception引起的
打印出来时是“java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag”;
在网上找了下,发现stackOverFlow有个比较符合这个问题的答案:
“
use encription in my app. I store private key as bytes array and use the following code to restore it:
It works perfectly on all my target android platforms 2.1 -> 4.0.4, but fails on Jelly Bean!
Jelly Bean throws an exception:
”
说是是jelly Bean也就是Android4.1版本的问题。
后来我看了下,确实以前我们做适配的机子基本都是4.0以下的。
然后这个Note2刚好是4.1.1的
然后根据
下面的一个Answer
“
”
即在生成keyFactory时,多一个参数“BC”,具体干嘛也不是很青春,可以参考api文档。
ok,可正常启动了~
一开始以为是note2的问题。
先是打跑跑debug,发现是throws exception引起的
打印出来时是“java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag”;
在网上找了下,发现stackOverFlow有个比较符合这个问题的答案:
“
use encription in my app. I store private key as bytes array and use the following code to restore it:
PrivateKeyprivate=KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(s_privateKeyIn1t));
It works perfectly on all my target android platforms 2.1 -> 4.0.4, but fails on Jelly Bean!
Jelly Bean throws an exception:
”
说是是jelly Bean也就是Android4.1版本的问题。
后来我看了下,确实以前我们做适配的机子基本都是4.0以下的。
然后这个Note2刚好是4.1.1的
然后根据
下面的一个Answer
“
PKCS8EncodedKeySpec privSpec =new PKCS8EncodedKeySpec(s_privateKeyIn1t);KeyFactory keyFactory =KeyFactory.getInstance("RSA","BC");PrivateKey privateKey = keyFactory.generatePrivate(privSpec);
”
即在生成keyFactory时,多一个参数“BC”,具体干嘛也不是很青春,可以参考api文档。
ok,可正常启动了~
相关文章推荐
- 关于note2等(Android4.1版本)以上无法启动支付宝的问题"java.security.spec.InvalidKeySpecException"
- 关于note2等(Android4.1版本)以上无法启动支付宝的问题"java.security.spec.InvalidKeySpecException"
- android 接支付宝在4.1版本下报java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0D
- 关于android4.1版本以上不支持支付宝的问题
- What is the reason for - java.security.spec.InvalidKeySpecException: Unknown KeySpec type: java.security.spec.ECPublicKeySpec
- 关于Android7.0及以上版本FileUriExposedException的问题
- JDK版本问题Exception in thread "main" java.lang.UnsupportedClassVersionError: Hello
- Eclipse无法启动报An internal error occurred during: "reload maven project". java.lang.NullPointerException
- 解决Idea 无法启动tomcat项目。unable to open debugger port , java.net.SocketException "socket closed"
- Rational Rose破解版 关于启动和关闭时都弹出"java.lang.ClassNotFoundException"的解决办法
- 关于android4.4及以上版本无法恢复还原短信的问题记录与解决
- 关于新版网易风云音乐(linux版)无法启动的问题>>>Failed to load module "overlay-scrollbar"
- 关于无法启动程序“x.lib"问题解决办法
- 关于VS220113无法启动IIS Express,系统日志:工作进程未能预加载 .Net 运行时版本 v4.0.30128问题
- 关于java.lang.SecurityException: class "org.bouncycastle.util.Strings"'s signer.....报错信息的解决方法
- 解决tomcat服务器无法启动-java.net.BindException 端口被占用问题
- 关于最新版本(19)的build-tools问题:Unable to execute dex: java.nio.BufferOverflowException
- centos7 elasticsearch 安装kaka-river 报错 "java.security.InvalidAlgorithmParameterException"
- Eclipse无法启动报An internal error occurred during: "reload maven project". java.lang.NullPointerException
- 关于android4.4及以上版本无法恢复还原短信的问题记录与解决