我使用的是SpongyCastle (BouncyCastle的加密函数在安卓上的完整实现),我有一个包含384大小密钥的bks。我正在尝试使用方法KeyStore.getKey(别名,密码)提取该密钥,就像您在密钥库中提取任何密钥一样。但我遇到的是错误
java.security.UnrecoverableKeyException: no match。
做一点研究表明,这可能是因为密钥大小太大,Android无法处理,这是有意义的,因为我的程序获得其他大小为128和256的密钥没有问题。通常在Java中,这可以通过将“无限强度”JCE导入到Java安全文件夹中来解决,但是android呢?我能不能把无限强度的JCE导入android (我的直觉是否定的),如果不能,有没有关于如何提取密钥的建议?SpongyCastle已经解决了我的很多其他问题,我希望这里也有一个SpongyCastle解决方案。
谢谢!
发布于 2011-09-06 22:43:42
所以经过一番努力,我终于找到了问题所在。
我没有指定提供商,所以我的程序默认使用默认的Android BouncyCastle。当我这么做的那一刻
KeyStore ks = new KeyStore("BKS","SC");而不是
KeyStore ks = new KeyStore("BKS");它工作得很好,没有任何抱怨。
https://stackoverflow.com/questions/7258016
复制相似问题