我可以将没有证书的 RSA public 密钥存储到我现有的 jks 文件中吗?

Can I store RSA public key without certificate to my existing jks file?

我有一个 RSA public 密钥(没有证书),我想将其添加到我现有的 jks 文件中。

-----BEGIN PUBLIC KEY-----
MIIBIjA.... // key here
-----END PUBLIC KEY-----

可能吗?我没有它的私钥,所以如果我用其他密钥创建一个自签名证书,它会起作用吗(我认为不会)?

Java keystores只能存储Secret Keys、Key Pairs(私钥+证书链)和Certificates。 Public 密钥不能单独存在,它们通常嵌入在证书中。

所以要回答你的问题,你不能存储你的 public 密钥。您需要与为您提供 public 密钥的人合作,看看他们是否可以为您提供证书。而且你不能创建自签名证书,因为你没有它的私钥,你也不能使用不同的私钥。

如果您需要在代码中使用 public 密钥,此 solution 将向您展示如何操作,前提是您将 public 密钥存储为文件。