无限的力量Jce和Android

时间:2011-08-31 13:58:03

标签: android bouncycastle spongycastle

我正在使用SpongyCastle(完全实现BouncyCastle的Android加密功能),我有一个包含384密钥的bks。我正在尝试使用KeyStore.getKey(别名,密码)方法提取该密钥就像你在密钥库中的任何密钥一样。但我遇到的是错误

java.security.UnrecoverableKeyException: no match

进行一些研究表明,这可能是因为密钥大小太大而Android无法处理,这是有道理的,因为我的程序获得大小128和256的其他密钥没问题。通常在Java中,这可以通过将“Unlimited Strength”JCE导入Java安全文件夹来解决,但是android呢?我可以将无限强度JCE导入android(我的直觉本能是否)如果没有,是否有任何关于如何提取密钥的建议? SpongyCastle解决了很多我的其他问题,我希望这里也有SpongyCastle解决方案。

谢谢!

1 个答案:

答案 0 :(得分:8)

因此,经过多次摔跤,我发现了问题。

我没有指定提供商,所以我的程序默认为默认的Android BouncyCastle。我做的那一刻

KeyStore ks = new KeyStore("BKS","SC");

而不是

KeyStore ks = new KeyStore("BKS");

它运作得很好,并没有抱怨。