当前位置:首页 > 行业资讯 > SSL证书 > 正文内容

合并证书和中间证书

2025-09-17SSL证书926

海外云服务器 40个地区可选            亚太云服务器 香港 日本 韩国

云虚拟主机 个人和企业网站的理想选择            俄罗斯电商外贸虚拟主机 赠送SSL证书

美国云虚拟主机 助力出海企业低成本上云             WAF网站防火墙 为您的业务网站保驾护航



引言:为什么需要 HTTPS?

在当今互联网环境中,数据安全已成为网站和应用开发的基石,随着用户隐私意识的提升以及主流搜索引擎(如 Google)对 HTTPS 网站的优先索引策略,启用加密传输协议已不再是“可选项”,而是现代 Web 应用部署的基本标准

Apache Tomcat 作为最广泛使用的 Java Web 容器之一,原生支持通过配置 SSL/TLS 协议来启用 HTTPS 加密通信,本文将系统地介绍如何在 Tomcat 服务器上部署 SSL 证书,涵盖从环境准备、证书获取、格式转换、服务配置到最终验证与安全优化的全过程,帮助开发者与运维人员高效完成 HTTPS 的搭建工作。


SSL/TLS 与 HTTPS 基础知识

SSL(Secure Sockets Layer)是早期的安全套接层协议,其后续演进版本为 TLS(Transport Layer Security),两者常被统称为 SSL/TLS,它们的作用是在客户端(如浏览器)与服务器之间建立一条加密通道,确保数据在传输过程中不被窃听、篡改或伪造。

HTTPS 实质上就是 HTTP 协议叠加了 SSL/TLS 加密层,即:

HTTPS = HTTP + SSL/TLS

要启用 HTTPS,服务器必须持有由受信任的证书颁发机构(CA, Certificate Authority)签发的有效 SSL 证书,该证书包含以下关键信息:

  • 绑定的域名
  • 公钥信息
  • 有效期
  • 签发机构(CA)
  • 数字签名及证书链

当用户访问 HTTPS 站点时,浏览器会验证证书合法性,并协商加密算法,从而实现端到端的数据保护。


部署前的准备工作

在开始配置之前,请确认以下条件均已满足:

  1. Java 运行环境已安装

    • Tomcat 依赖 JVM 运行,需确保 JDK 或 JRE 已正确安装并配置好 JAVA_HOME 环境变量。
    • 推荐使用 Java 8 及以上版本以获得更好的性能和安全性支持。
  2. Tomcat 服务正常运行

    • 建议使用 Tomcat 8.5 或更高版本,因其对 TLS 1.2/1.3 支持更完善,且具备更强的安全特性。
    • 启动 $CATALINA_HOME/bin/startup.sh 并访问 http://localhost:8080 确认服务可用。
  3. 已准备好 SSL 证书文件 通常包括三个核心组件:

    • 服务器证书(Server Certificate)example.com.crt
    • 私钥文件(Private Key)example.com.key
    • 中间证书链(Intermediate CA Bundle)ca-bundle.crt,用于构建完整的信任链
  4. 域名解析已完成

    确保目标域名已正确指向当前服务器 IP 地址,并可通过公网访问。


获取 SSL 证书的方式

您可以选择以下任一方式获取合法有效的 SSL 证书:

免费证书(推荐个人/测试项目使用)

  • 使用 Let’s Encrypt 提供的自动化免费证书。
  • 搭配工具如 Certbot 可实现自动申请、部署与续期。
  • 支持通配符证书(Wildcard),适合多子域场景。

商业证书(适用于企业生产环境)

  • 来自权威 CA 机构,如 DigiCert、GlobalSign、Sectigo、阿里云、腾讯云等。
  • 提供更高的保障级别(如 EV 证书)、技术支持和保险赔付。
  • 更易被老旧设备或特定网络环境信任。

📌 示例中我们假设已获得如下三个文件:

  • example.com.crt —— 服务器证书
  • example.com.key —— 私钥文件
  • ca-bundle.crt —— 中间证书集合

证书格式转换:PEM → PKCS12 → JKS

Tomcat 默认使用 Java KeyStore(JKS)格式管理密钥与证书,而大多数外部签发的证书为 PEM 格式(文本编码的 Base64 数据),因此需要进行格式转换。

第一步:合并证书并生成 PKCS12 文件

首先将服务器证书与中间证书合并成一个 .crt 文件:

cat example.com.crt ca-bundle.crt > combined.crt

然后使用 OpenSSL 将私钥和合并后的证书打包为 PKCS12 格式:

openssl pkcs12 -export \
               -in combined.crt \
               -inkey example.com.key \
               -out tomcat.p12 \
               -name "tomcat" \
               -CAfile ca-bundle.crt \
               -caname root \
               -chain

执行过程中会提示设置导出密码(建议设为强密码并妥善保管),生成的 tomcat.p12 包含私钥、服务器证书和完整的证书链。

第二步:将 PKCS12 转换为 JKS 格式

使用 Java 自带的 keytool 工具将其转换为 JKS:

keytool -importkeystore \
        -srckeystore tomcat.p12 \
        -srcstoretype PKCS12 \
        -destkeystore keystore.jks \
        -deststoretype JKS

系统将要求输入源密钥库密码(即上一步设置的 p12 密码)以及目标 JKS 的新密码(记牢此密码,后续配置需要用到)。

最终得到 keystore.jks 文件,建议将其放置于 Tomcat 的 conf/ 目录下:

mv keystore.jks $CATALINA_HOME/conf/

同时设置适当权限,防止未授权访问:

chmod 600 $CATALINA_HOME/conf/keystore.jks
chown tomcat:tomcat $CATALINA_HOME/conf/keystore.jks  # 若以 tomcat 用户运行

⚠️ 注意:若希望避免格式转换,也可直接在 server.xml 中使用 PKCS12 类型(见后文说明)。


配置 Tomcat 的 server.xml 文件

进入 $CATALINA_HOME/conf/server.xml,查找默认被注释掉的 <Connector> 段落,或手动添加一个新的 HTTPS 连接器。

配置示例(使用 JKS 格式)

<Connector port="8443"
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150"
           SSLEnabled="true">
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="${catalina.base}/conf/keystore.jks"
                     certificateKeystorePassword="your_keystore_password"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

参数详解:

属性 说明
port="8443" HTTPS 默认端口;如需使用标准端口 443,需以 root 权限启动 Tomcat。
protocol 推荐使用 NIO 协议(Http11NioProtocol)提升并发处理能力。
certificateKeystoreFile 指向 JKS 或 PKCS12 文件路径,使用 ${catalina.base} 变量更具移植性。
certificateKeystorePassword 创建 JKS 时设定的密码。
type="RSA" 密钥类型,若使用 ECC 证书则改为 EC

替代方案:直接使用 PKCS12(无需转 JKS)

如果您保留了 .p12 文件,可以直接指定类型为 PKCS12,省去转换步骤:

<Certificate certificateKeystoreType="PKCS12"
             certificateKeystoreFile="${catalina.base}/conf/tomcat.p12"
             certificateKeystorePassword="your_p12_password"
             type="RSA" />

重启 Tomcat 并验证 HTTPS 访问

修改完成后保存配置文件,重启 Tomcat 服务:

$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh

打开浏览器访问:

https://your-domain.com:8443

如果一切正常,您应看到:

  • 页面成功加载
  • 浏览器地址栏显示锁形图标 🔒
  • 点击证书详情,确认:

扫描二维码推送至手机访问。

版权声明:本文由特网科技发布,如需转载请注明出处。

本文链接:https://www.56dr.com/mation/77101.html

分享给朋友:

“合并证书和中间证书” 的相关文章

全球服务器列表

1. 192.168.1.1,2. 172.31.1.1,3. 10.0.0.1,4. 192.168.2.1,5. 172.31.2.1,6. 10.0.1.1,7. 192.168.3.1,8. 172.31.3.1,9. 10.0.2.1,10. 192.168.4.1,11. 172.31....

国外服务器网站列表

1. [DigitalOcean](https://www.digitalocean.com/),2. [AWS](https://aws.amazon.com/ec2/),3. [Heroku](https://www.heroku.com/),4. [Google Cloud Platform]...

租用境外服务器,性价比高?

租用境外服务器通常具有较高的性价比,但其成本会受到多种因素的影响,包括地理位置、网络带宽、托管费用等。建议在选择时进行全面比较和预算规划。随着科技的发展和互联网的普及,越来越多的人开始关注如何在不花费大量资金的情况下获取更好的网络服务,而租用境外服务器作为一种灵活且经济的选择,正受到越来越多用户的青...

如何优化网站加载速度

需要你提供的具体内容。在现代互联网时代,数据的安全性和稳定性至关重要,随着全球化的进程,越来越多的用户选择租用境外服务器来存储和处理他们的数据,在众多的国外服务器租赁平台上,哪一个更好呢?本文将对比几个常见的平台,帮助你做出明智的选择。1. DigitalOceanDigitalOcean 是一个快...

全球跨境云服务市场趋势及价格表分析

随着全球云计算市场的不断扩展和需求增长,跨境云服务市场呈现出多元化、标准化和智能化的趋势。根据最新数据,2023年全球跨境云服务市场规模预计将达到4.8万亿美元,同比增长15%。从技术角度,云计算提供商正朝着更高效、安全和成本效益更高的方向发展。在价格方面,不同地区和云服务提供商之间的价格差距也在不...

服务器购买平台全面免费注册与实名验证

服务器购买平台全面免费注册并进行实名验证,确保交易安全。随着科技的快速发展,越来越多的人开始关注服务器作为网络基础设施的重要角色,在选择服务器时,很多人可能会面临一些问题,有些服务器购买平台可能要求用户进行实名认证,这是否意味着必须实名?本文将为您解答这个问题。我们来谈谈什么是实名认证,实名认证是指...