有时我们可能需要在 tomcat 中为 Java 项目实现 SSL 证书。 在 tomcat 中实现 SSL 与在像 Nginx 这样的 Web 服务器中实现有些不同, Apache. 在本文中,我们将学习如何在 tomcat 上安装 SSL 证书。 我们假设您已经配置好Java环境并且tomcat服务器正在运行。
创建密钥库
Java 提供 JKS 也称为 Java KeyStore 作为安全证书存储库。 JDK 和 JRE 都提供命令行实用工具 钥匙工具 用于创建和管理密钥库。 运行以下命令以创建 KeyStore。
$ keytool -genkey -alias tomcat.linuxways.com -keyalg RSA -keystore /etc/pki/keystore
创建企业社会责任
如果您要安装自签名证书,则可以避免此步骤。 如果要安装购买的 SSL 证书,则需要创建 CSR 文件。
$ keytool -certreq -keyalg RSA -alias tomcat.linuxways.com -file tomcat.csr -keystore /etc/pki/keystore
您将收到提供密钥库密码的提示。 提交密码后,将生成 CSR 文件。 使用此 CSR 文件购买 CA 签名的 SSL 证书。
获取 CA 签署的 SSL 证书
CA颁发证书后,您将拥有以下文件。 以域(tomcat.linuxways.com)为例。
- tomcat.linuxways.com(CA颁发的证书)
- root.crt(根证书)
- mid.crt(中级证书)
安装证书
使用以下命令导入 CA 签名证书。
$ keytool -import -alias tomcat.linuxways.com -keystore /etc/pki/keystore -trustcacerts -file path-to-certificate/tomcat.linuxways.com.crt
在哪里 证书路径 是证书目录和 tomcat.linuxways.com.crt 是 CA 签名的 SSL 证书。
安装根证书
使用以下命令导入根证书。
$ keytool -import -alias root -keystore /etc/pki/keystore -trustcacerts -file path-to-certificate/root.crt
在哪里 根目录 是根证书文件。
安装中间证书
运行以下命令导入中间证书文件。
$ keytool -import -alias intermediateca -keystore /etc/pki/keystore -trustcacerts -file path-to-certificate/intermediateca.crt
我在哪里中间件.crt 是中间证书文件。
更改 tomcat 配置
导入所有必需的证书后,现在是配置 tomcat Keystore 的时候了。 进入tomcat安装文件夹,找到 服务器.xml 文件。 使用以下内容更新配置文件。
$ vi tomcat-installation-directory/config/server.xml
例子。
$ vi /opt/tomcat/config/server.xml <Connector port="4443" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="4443" SSLEnabled="true" scheme="https" secure="true" sslProtocol="TLS" keystoreFile="/etc/pki/keystore" keystorePass="_password_" />
为了演示,正在使用端口 4443。 您可以根据您的环境选择任何端口。