Tomcat(又称 Apache Tomcat)是网络领域家喻户晓的名字,其人气来源于它是 Apache 软件基金会旗下的开源 Web 服务器。作为纯 Java 的 HTTP Web 服务器,它主要通过支持基于 Java 的应用(Java Server Pages,即 JSP,以及 Java Servlet)而广受欢迎。在 Tomcat 上安装 SSL 证书,请按以下步骤操作。
生成证书签名请求(CSR)
在向立海世纪获取证书之前,你需要先创建 CSR。CA 将凭借这份 CSR 签发证书,向访问者证明你的网站是安全的。以下是创建 CSR 的步骤:
生成本地证书:
keytool -genkey -alias tomcat -keyalg RSA -keystore <your_keystore_filename>
注意:少数情况下,你需要在「first-and-lastname(姓与名)」字段中填入你的网站域名(例如 www.yoursite.org),才能生成可用的证书。
接下来,执行以下命令创建 CSR:
keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore <your_keystore_filename>
现在你会得到一个名为 certreq.csr 的文件,可将其提交给证书颁发机构(CA)。
使用 X.509 格式安装 CA 证书
- 选择正确的一级与二级中间证书。
- 将一级与二级中间证书的内容分别复制粘贴到两个独立的文本文件中,确保文件中没有多余空格、换行或空行。
- 将一级中间证书文本文件命名为 primary-inter.cer。
- 使用以下命令将一级中间证书导入 keystore:
keytool -import -trustcacerts -alias primaryIntermediate -keystore your_keystore_filename -file primary_inter.cer
- 将二级中间证书文本文件命名为 secondary_inter.cer。
- 使用以下命令将二级中间证书导入 keystore:
keytool -import -trustcacerts -alias secondaryIntermediate -keystore your_keystore_filename -file secondary_inter.cer
安装 SSL 证书
你需要下载或通过复制粘贴获取通过邮件收到的证书。若证书以附件形式发送,请直接下载原样使用;若以纯文本形式转发,则复制粘贴到文本文件中。请勿使用 Microsoft Word,以免引入多余字符,同时确认文件中没有多余空格或空行。证书内容格式如下:
-----BEGIN CERTIFICATE-----
[encoded data]
-----END CERTIFICATE-----
「BEGIN CERTIFICATE」与「END CERTIFICATE」前后各五个短横线是必须的,且不应包含多余空格、换行或其他证书。
执行以下命令导入 SSL 证书:
Keytool -import -trustcacerts -alias your_alias_name -keystore your_keystore_filename -file your_certificate_filename
注意:别名(alias)必须与生成私钥和 CSR 时使用的名称保持一致。
验证证书内容
要列出 keystore 内容,请执行以下命令:
keytool -list -v -keystore your_keystore_filename >output_filename
SSL 证书应以「Entry Type」为 PrivateKeyEntry 或 KeyEntry 的别名导入;若不是,请将其导入到私钥别名下。
在 server.xml 中启用 SSL 配置
- 用文本编辑器打开 server.xml 配置文件。
- 在配置文件中查找安全元素(尝试搜索 SSL Connector),默认内容类似如下:
<!-- SSL Connector on Port 8443 -->
<Connector
className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8443" minProcessors="5"
maxProcessors="75"
enableLookups="false"
acceptCount="10"
connectionTimeout="60000" debug="0"
scheme="https" secure="true">
<Factory
className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
clientAuth="false" protocol="TLS"
keystoreFile=" insert path to the keystore here ">
keystorePass=" insert keystore password here ">
</Connector>
- 确保 keystoreFile 指令指向正确的 keystore,keystorePass 指令为正确的 keystore 密码。注意:这些指令区分大小写,keystoreFile 与 keystorePass 中的字母 F 与 P 必须大写。
- 若 keystore 中包含多个私钥别名,请添加 keyAlias 指令以引用正确的私钥别名。例如:keystoreFile="insert path to the keystore here" keystorePass="insert keystore password here" keyAlias="insert private key alias here"/>
- 保存更改。
- 停止并重启 Tomcat,然后使用安装检查工具验证证书内容。如需进一步信息,请参阅 Tomcat 官方站点。
结语
在 Tomcat 上部署 SSL 证书可让基于 Java 的站点通过 HTTPS 提供加密访问。按上述流程完成 CSR 生成、中间证书与服务器证书导入、server.xml 配置并重启服务后,即可为网站启用安全连接。具体证书品牌、验证等级与申请方式请以各证书服务商公布的信息为准。