无限的力量Jce和Android

Otr*_*tra 3 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解决方案.

谢谢!

Otr*_*tra 8

经过多次摔跤,我发现了问题所在.

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

KeyStore ks = new KeyStore("BKS","SC");
Run Code Online (Sandbox Code Playgroud)

而不是

KeyStore ks = new KeyStore("BKS");
Run Code Online (Sandbox Code Playgroud)

它工作得很好,并没有抱怨.