我必须生成一个自签名的根CA并使用它以编程方式向证书颁发。我是安全和证书的新手,我想我缺少一些使整个工作能够协同工作所需的部分。
根据我的理解,我需要使用Java keytool生成X509证书以充当根CA,然后使用它的私钥来签署我在运行时使用Bouncy Castle生成的新证书。
我使用keytool和以下命令生成了一个新证书:
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048
当我尝试以编程方式读取此密钥库和证书时,我发现证书的私钥未存储在密钥库中,或者无法读取私钥。
我有以下问题:
1)如何使用keytool生成根CA?
2)根CA的输出格式应该是什么,以便我可以读取私钥?我目前将证书写入密钥库的方法是错误的吗?
我在StackExchanges的信息安全社区也发布了相同的问题