我有一个p7b证书,我导入到IIS并导出到3 .cer文件如下。
那么我使用以下命令将所有3个cer成功插入到我的密钥库中。
keytool -import -alias root -keystore test.keystore -trustcacert -file root.cer
然后我运行我的wildfly和错误“密钥库不包含任何密钥”,但是当我列出密钥库,它有所有3个密钥里面。 我不知道为什么它不起作用,希望有人能在这方面给我启发。
Java密钥库可以包含(至less)两种不同types的条目:
包含证书的“trustedCertEntry”条目
包含私钥和证书链的“privateKeyEntry”
您通过导入单独的证书创build了第一种types; 查看keytool -list中的显示,这些条目将被标记为trustedCertEntry 。 SSL / TLS服务器在privateKeyEntry中需要privateKeyEntry和证书链。
我不知道国际空间站,但如果你的意思是你在IIS中生成了密钥和CSR,IIS通常使用Windows密钥存储库作为某个系统帐户; 我不记得哪个,但它应该是明显的在某个地方的configuration。 您需要为该帐户运行MMC + CertMgr,find正确的条目(在cert图标左侧有一个黄色的键),并以'PKCS#12(PFX格式)'导出私钥' )''包括…path'到一个文件。 在许多情况下,Java / JCE可以直接使用PKCS12文件作为密钥库(而不是JKS),但是如果您需要或更喜欢转换为JKS,请使用keytool -importkeystore (而不是-importcert )。
另请参阅使用CER / P7b证书的近似伪装JBoss Httpsconfiguration失败