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