特网科技为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。

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

合并证书和中间证书

2025-09-17SSL证书1047

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

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

美国云虚拟主机 助力出海企业低成本上云             拨号云主机



引言:为什么需要 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

分享给朋友:

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

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

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

笔记本电脑综合评分,性价比、性能稳定性及售后服务全面分析

在选购电脑时,性价比、性能稳定性以及售后服务是三大关键因素。性价比通常与产品的价格和功能配置相关,选择一款既能满足基本需求又不超预算的产品至关重要。稳定的性能是用户长期使用的重要保障。良好的售后服务能及时解决使用过程中遇到的问题,提升用户的满意度和信任度。在购买电脑时,应全面考虑这些因素,并结合自己...

服务器租用多少钱一年?

服务器租赁价格因地区、品牌和配置而异。每月租赁成本在200至800元之间,每年大约为6000至4万元人民币。对于企业级或高性能需求,建议选择高规格的服务器,并考虑预留一定的冗余空间以应对突发情况。在数字化时代,越来越多的企业和个人需要使用服务器来处理各种业务,对于如何选择合适的服务器以及服务器的租赁...

腾讯服务器价格多少钱一年

腾讯服务器价格 varies depending on the plan and specifications, but generally ranges from $29 to $49 per year.在数字化时代,云服务已成为企业管理和IT运维的重要工具,腾讯作为国内领先的云计算平台,以其强大...

视频服务器配置与视频教学完美结合

在现代教育中,视频教学因其直观、生动的特点而广泛使用。如何确保视频教学的质量和效果,同时利用好现有的硬件资源,是一个重要的挑战。为此,许多学校开始考虑将视频服务器配置与视频教学结合起来,以达到最佳的教学效果。,,视频服务器应具备强大的处理能力和存储能力,能够快速播放和存储大量视频素材。服务器应支持多...

在家搭建小型服务器的步骤

在家中搭建小型服务器可以用于各种用途,如远程办公、数据备份、网络监控等。以下是一些基本步骤和建议:,,1. **选择合适的硬件**:需要选择一台性能良好的服务器,并确保其具有足够的内存(至少4GB以上)、CPU(至少2核)和存储空间。,,2. **安装操作系统**:根据需求选择合适的Linux发行版...