All。我正在开发一个Android项目。我需要生成一个RSA密钥对,然后使用它们与其他人进行通信。我需要将私钥和公钥存储在一个安全的地方,我发现可以使用KeyStore。
我看到KeyStore可以存储KeyStore.PrivateKeyEntry但它需要一个Certificate []链。我试图创建它但失败了......
是否有人可以粘贴一些用于存储私钥和公钥的示例代码。
非常感谢!
答案 0 :(得分:6)
如您所说,为了将私钥存储到密钥库中,您需要私钥(您拥有)和相应公钥的证书链。你拥有的只是公钥,你需要根据你的公钥从权威机构获得证书。是的,您可以自签名证书。但我认为没有任何内置的Java API来以编程方式创建和自签一个证书。
对此thread进行了类似的讨论。接受的解决方案描述了将私钥和公钥存储在受保护文件中的密钥库之外。
您可以在此处阅读有关Java Cryptography架构的更多信息http://docs.oracle.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html
希望这会有所帮助。