如何使用具有相应别名的java代码仅在密钥库中存储公钥?

May*_*hah 2 java-security

我创建了密钥库,我只想在密钥库中存储publickey,并且不想存储私钥.因为私钥将在客户端设备中,并且他将使用rest API共享公钥.

另外,我应该如何在一个keystore中使用不同的别名保留多个公钥

如果某人有示例代码或示例链接,那么对我来说将非常有帮助.

Dan*_*iel 7

它不能完成,至少不能以raw格式完成java.security.PublicKey.您只能在JKS密钥库中存储3种类型的条目:( PrivateKeyEntry对于非对称私钥),SecretKey(对于对称密钥)和TrustedCertificateEntry(对于"公共"密钥).他们都实现了java.security.KeyStore.Entry界面.

底线是:您需要将公钥与您可以创建的证书相关联,然后将证书作为单独的条目存储在密钥库中.

创建证书有点棘手,但可以在这里找到一个例子:在没有BouncyCastle的情况下用Java创建X509证书?