我正在开发一个Java项目。我需要生成RSA密钥对,然后使用它们与其他人进行通信。
我看到KeyStore可以存储KeyStore.PrivateKeyEntry但它需要一个Certificate []链。我使用我的函数创建了证书,但现在我只有一个带私钥而不是证书链的证书?如何以编程方式将此私钥和证书存储在密钥库中?
或者,如果有办法只添加私钥和公钥而不是证书。我可以稍后使用该私钥来创建我的证书。
是否有人可以粘贴一些用于存储私钥和公钥的示例代码。
答案 0 :(得分:0)
实际上,这根本不是很难。只需创建一个证书[],其中包含一个条目......您的证书。
这假设您的证书是自签名证书。如果您的证书实际上是由另一个实体签署的,那么最好将整个证书链放入证书数组中。
离。
X509Certificate myCert = ...
KeyStore ks = ...
Certificate [] certArray = { myCert };
ks.setKeyEntry(alias, key, certArray);