保护 Tomcat的基本任务之一是配置 SSL 证书,以便通过HTTPS访问 Web 应用程序。
有很多方法可以实现这一目标。
但是,如果您不使用上述任何一种或将其用作前端或需要直接在 Tomcat 中部署 SSL,那么以下内容将对您有所帮助。
在本文中,我们将执行以下操作。
开始吧…
第一步是生成 CSR 并获得证书颁发机构的签名。我们将使用keytool 实用程序来管理证书。
keytool -genkey -alias domainname -keyalg RSA -keysize 2048 -keystore filename.jks
上述命令中有两个变量可能需要更改。
前任:
- [root@geekflare ssl]# keytool -genkey -alias bloggerflare -keyalg RSA -keysize 2048 -keystore bloggerflare.jks
- Enter keystore password:
- Re-enter new password:
- What is your first and last name?
- [Unknown]: bloggerflare.com
- What is the name of your organizational unit?
- [Unknown]: Blogging
- What is the name of your organization?
- [Unknown]: Geek Flare
- What is the name of your City or Locality?
- [Unknown]:
- What is the name of your State or Province?
- [Unknown]:
- What is the two-letter country code for this unit?
- [Unknown]:
- Is CN=bloggerflare.com, OU=Blogging, O=Geek Flare, L=Unknown, ST=Unknown, C=Unknown correct?
- [no]: yes
-
- Enter key password for
- (RETURN if same as keystore password):
-
- [root@geekflare ssl]#
注意名字和姓氏的问题。我认为这有点误导。这不是您的名字,而是您想要保护的域名。
提供所有信息后,它将在当前工作目录上创建一个密钥库文件。
接下来是 使用以下命令使用新创建的密钥库生成新的 CSR 。
keytool -certreq -alias bloggerflare -keyalg RSA -file bloggerflare.csr -keystore bloggerflare.jks
这将创建一个 CSR,您需要将其发送给证书颁发机构以对其进行签名。如果您在玩,那么您可以考虑使用免费的证书提供者,或者选择高级证书提供者。
我签署了证书,并将继续使用以下命令导入密钥库。
keytool -importcert -alias root -file root -keystore bloggerflare.jks
keytool -importcert -alias intermediate -file intermediate -keystore bloggerflare.jks
注意:如果不导入根和中间,您将无法将域证书导入密钥库。如果您有多个中间体,那么您必须将它们全部导入。
keytool -importcert -file bloggerflare.cer -keystore bloggerflare.jks -alias bloggerflare
并且,您将收到已安装的确认信息。
证书回复已安装在密钥库中
太好了,现在证书密钥库已经准备好了。让我们进入下一步。
如果您是 SSL 新手并有兴趣了解更多信息,请报名参加此在线课程 - SSL/TLS 操作。
假设您仍然登录到 Tomcat 服务器,请转到 conf 文件夹
部分并添加一行 SSLEnabled="true" scheme="https" keystoreFile="ssl/bloggerflare.jks" keystorePass="chandan" clientAuth="false" sslProtocol="TLS"

甜的!
为什么?
好吧,如果你看上面的截图,我正在使用 https 访问超过 8080 的 Tomcat,这不是标准的,还有其他一些原因。
所以想法是让 Tomcat 监听 443 端口,这样就可以通过 https:// 访问它,而无需端口号。
为此,请使用您喜欢的编辑器编辑 server.xml
- connectionTimeout="20000"
- SSLEnabled="true" scheme="https" keystoreFile="ssl/bloggerflare.jks" keystorePass="chandan" clientAuth="false" sslProtocol="TLS"
- redirectPort="8443" />
复制
- 重新启动 Tomcat 并使用 https 访问您的应用程序,无需任何端口号

厉害了,成功了!
SSL/TLS 漏洞测试
最后,我们将进行测试以确保它不易受到在线威胁。
我在这里讨论了很多在线工具,在这里我将使用 SSL Labs。
- 转到SSL Labs并输入 URL 以开始测试

它是绿色的 - 评级。
但是,向下滚动报告并查看是否发现任何漏洞并修复它总是一个好主意。
这就是今天的全部内容。
我希望这可以帮助您了解使用 SSL/TLS 证书保护 Tomcat 的过程。