我有一台 CENT OS 服务器,应用程序托管在 apache tomcat 上。我对 SSL 证书了解不多,但我按照以下步骤进行设置
1 - 生成密钥库文件
keytool -genkey -alias -keyalg RSA -keysize 2048 -keystore -sigalg SHA256withRSA
2 - 生成 CSR
keytool -certreq -alias -file -keystore -sigalg SHA256withRSA
3 - 导入
下载了 Symantec 提供的针对 CSR 的 p7b 文件并导入了证书
keytool -import -alias -trustcacerts -file -keystore
一切正常,但 Symantec 的 SSL 工具箱显示以下警告
建议:在服务器上安装根。最佳做法是从服务器中删除自签名根。
有什么想法我该如何从服务器卸载/删除 Root 以避免出现此警告?
答案1
我发现的唯一一件事是本文其基本含义是“浏览器将收到您付费的证书,同时也会收到您的自签名证书”,而解决这一问题是他们的工作。
恕我直言,Symantic 的产品让我浪费了不少时间,简直是白费力气。他们还建议使用 RC4 修复 BEAST(我猜),但这并不值得推荐。浏览器正在修复 BEAST。
BEAST
The BEAST attack is not mitigated on this server.
Root installed on the server.
For best practices, remove the self-signed root from the server.
我推荐这项服务: https://www.ssllabs.com/ssltest/analyze.html
他们的补救文章非常有帮助。
这是我用来设置 nginx 的文章。它只需要做一点改动就能获得 A+
答案2
要从 tomcat 中删除根自签名证书,您需要将其从 Java 安装中删除。此操作通过 Java jdk 安装中的 bin 文件夹中的 keytool 二进制可执行文件执行。
您应该使用以下选项从 tomcat 删除自签名证书:
keytool -delete -noprompt -alias ${cert.alias} -keystore ${keystore.file} -storepass ${keystore.pass}
例如,要删除我机器上安装的名为 tomcat 的自签名证书,我必须使用以下命令:
"%JAVA_HOME%\bin\keytool" -delete -noprompt -alias tomcat
更多信息请访问:
https://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html