我被要求根据我们创建的证书创建一个jks密钥库.我已经阅读了一些关于这个主题的内容,但我仍然对一些项目感到困惑:
证书的私钥是否应该存储在.jks keystone中?
如果是 – 这是什么输入的?使用keytool,它不需要创建一个jks文件.
如果不是 – jks文件的目的是什么?为什么我的应用程序需要它而不是直接读取证书?为什么keytool需要密码来创建一个jks,如果它只包含一个公钥?
解决方法:
Is the private key of a certificate supposed to be stored in a .jks keystone?
是的,如果您拥有证书并将其存储在那里.
If yes – where does this get entered in? Using the keytool, it doesn’t require one for creating a jks file.
这是因为您还可以将其用作信任库,该信任库仅包含受信任的证书.
要获得私钥,您需要首先使用openssl将其及其证书转换为PKCS#12文件,如此处的许多问题(如this)所述.
If no – what is the purpose of a jks file? Why would my application need it instead of just reading in a certificate directly?
因为您的应用程序还需要证书的私钥.
And why does the keytool require a password to create a jks if it just contains a public key?
密钥库具有密码,因为它是与安全相关的实体.