我已向 StartSSL 申请了 1 类证书并将其安装在 Weblogic 10.0.1 中(参见屏幕截图)。
浏览器(Windows 7 上的 Chrome 和 IE9,XPSP3 上的 IE8)仍然给出证书错误(见截图)。
我认为 StartSSL 根证书可在多个浏览器中使用(请参阅此处)。请指教。
我已向 StartSSL 申请了 1 类证书并将其安装在 Weblogic 10.0.1 中(参见屏幕截图)。
浏览器(Windows 7 上的 Chrome 和 IE9,XPSP3 上的 IE8)仍然给出证书错误(见截图)。
我认为 StartSSL 根证书可在多个浏览器中使用(请参阅此处)。请指教。
StartSSL Class 1 证书由中间 CA 签名,中间 CA 由 StartCom 根 CA 签名。为了让您的浏览器信任这个证书,它需要知道直到它已经知道的根 CA 的信任链。
您的服务器需要将完整的信任链发送到浏览器(减去根 CA),以便您的浏览器可以验证您的证书是否受信任。
有关详细信息,请参阅StartSSL 常见问题解答。
发现了问题。我在我们的密钥库中错误地导入了 StartSSL 证书。另外,我在 Weblogic 控制台中将“weblogic”指定为别名,它不是证书,而是公钥/私钥对。我正在使用Portecle来编辑密钥库。
当我注意到我可能使用了错误的别名时,我已将其更改为证书的别名。这导致了 Weblogic 错误:
Inconsistent security configuration, weblogic.management.configuration.ConfigurationException: No identity key/certificate entry was found under alias startssl-hostname in keystore keystore_StartSSL on server servername
最后,我按照这些步骤将证书和私钥打包到一个 PKCS#12 密钥库中。然后我使用 Portecle 将该密钥库导入到我们的 java 密钥库中:
使用 openssl 从此密钥库中提取私钥:
openssl pkcs12 -in weblogic.p12 -nocerts -out privatekey.pem
cert.p12
使用 openssl将证书和私钥打包为 PKCS#12 密钥库 ( ):
openssl pkcs12 -export -in cert.cer -inkey privatekey.pem -out cert.p12 -name cert -CAfile ca.pem -caname root
cert.p12
使用“cert”作为别名,使用 Portecle 将文件导入我们的 java 密钥库。
更改了 Weblogic 配置以使用具有正确密码的“cert”别名。
它奏效了!
PS:自从 Portecle 曾经抱怨过这一点以来,我一直在添加JCE 无限强度政策。
通常信任库和密钥库是分开的,但不会导致上述错误。
如果您的浏览器不信任 CA,那么您将收到上述错误。您需要将根 CA 添加到浏览器。您可以检查您的浏览器支持的证书。例如对于 IE -> 工具 -> Internet 选项 -> 内容 -> 证书 -> 受信任的根 CA
假设您需要将其导入一两个浏览器,这没什么大不了的。但是,如果您需要在整个企业(意味着 100 或 1000 个浏览器)中执行此操作,您将需要桌面支持团队的帮助!