我使用Java中的KeyPairGenerator类创建了一个公钥-私钥对。根据这个密钥对,我使用PKCS10类生成了CSR请求,该请求已发送给CA进行验证。问题是如何将这个公钥-私钥对加载到密钥库中?我无法使用KeyStore.SetKeyEntry,因为它需要证书参数和私钥。
我想我必须等待CA发回证书,然后该证书应该用于加载密钥对。但是,如果我使用keytool命令-创建密钥库
keytool-genkey-keyalg RSA-密钥大小2048-sigalg sha1 with RSA-别名别名-有效性365-密钥库密钥名称
然后将这个密钥库加载到Java密钥库类中,密钥库对象包含一个privatekeyentry和一个CertificateEntry。如果没有从CA获得证书,这怎么可能呢?
您使用的keytool命令创建自签名证书。当您收到CA签名的新证书时,您可以将该证书导入密钥库,然后密钥库将替换自签名证书。
关于您的Java问题,您需要根据您创建的公钥(并由私钥签名)生成自签名证书,或者您需要等待CA返回您签名的证书并将其与SetKeyEntry中的私钥一起使用。