如何将私钥和公钥存储到密钥库中

8

大家好,我正在开发一个安卓项目。我需要生成一对RSA密钥,然后使用它们与其他人进行通信。我需要将私钥和公钥存储在安全的地方,我发现可以使用KeyStore。

我看到KeyStore可以存储KeyStore.PrivateKeyEntry,但它需要一个Certificate[]链。我尝试创建它,但失败了...

有没有人能够贴出一些用于存储私钥和公钥的示例代码。

非常感谢!


1
你好,你需要以编程方式创建/管理证书吗?因为你不必编写任何代码来创建或导入证书到密钥库中。你可以使用keytool来完成这个任务。 - sperumal
嗨,supermal,感谢你的回复。我必须通过编程完成这个任务。 - wayne_bai
请查看文档http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html。 - Mar Cel
我认为这可能是关于密钥库编程使用的足够信息。 - Mar Cel
Bouncycastle PKIX/CMS库可用于以编程方式生成证书。 - President James K. Polk
1个回答

6
像您所说的那样,为了将私钥存储到密钥库中,您需要拥有私钥(您已经拥有)和相应公钥的证书链。您现在只拥有公钥,需要根据您的公钥从机构获得证书。是的,您可以自签名证书。但我认为没有任何内置的Java API可以编程方式创建和自签名证书。
这个线程上有类似的讨论。 接受的解决方案描述了将私钥和公钥存储在受保护的文件中而不是密钥库中
您可以在此处阅读有关Java加密体系结构的更多信息:http://docs.oracle.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html 希望这可以帮助到您。

4
仅仅是一条评论。链接中被接受的解决方案将密钥存储在没有保护的文件中。 - Andy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接