如何创建符合标准的中间SSL证书 解决Chrome证书报错问题
符合标准的中间SSL证书创建及部署方案
核心注意事项
你遇到的Chrome报错大概率是中间证书缺少CA必备的扩展字段,或证书链部署顺序错误导致,以下是完整的标准化操作流程:
前置依赖
- 已生成自签名根CA证书及对应私钥,且根证书已安装到终端设备的受信任根证书存储区
- 本地安装OpenSSL工具,所有操作通过OpenSSL执行可避免可视化工具的配置遗漏问题
步骤1:生成中间证书私钥与签名请求
生成中间CA专用私钥:openssl genrsa -out intermediate.key 2048
生成证书签名请求(CSR):openssl req -new -key intermediate.key -out intermediate.csr
填写CSR信息时,国家、省份、组织名建议和根CA保持一致,公用名可填写Internal Intermediate CA类标识,不要和根CA、服务器证书的公用名重复
步骤2:创建中间证书扩展配置文件
这是中间证书符合CA标准的核心步骤,新建名为intermediate.ext的配置文件,内容如下:
basicConstraints = CA:TRUE, pathlen:0 keyUsage = critical, digitalSignature, keyCertSign, cRLSign subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer
配置字段说明:
basicConstraints = CA:TRUE标记该证书为CA证书,具备签发下级证书的权限;pathlen:0限制该中间CA不能再签发下级CA证书,仅可签发服务器、客户端这类终端实体证书,符合通用安全规范keyCertSign是CA证书必备的密钥用法,缺少该字段Chrome会直接判定证书无效
步骤3:用根CA签发中间证书
执行签发命令,有效期建议设置为1-5年,不可超过根CA的有效期:openssl x509 -req -in intermediate.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out intermediate.crt -days 1825 -extfile intermediate.ext
步骤4:验证中间证书有效性
执行以下命令查看证书属性:openssl x509 -in intermediate.crt -text -noout
确认输出中存在以下字段即为符合标准:
Basic Constraints: CA:TRUEKey Usage: Digital Signature, Certificate Sign, CRL Sign
步骤5:Tomcat证书链部署修正
你当前的部署逻辑存在问题,Tomcat需要对外返回完整的证书链,正确配置方式如下:
- 如果使用PEM格式证书:将服务器证书、中间证书合并为一个链文件,文件内顺序为先放服务器证书,再放中间证书,配置
server.xml中SSL连接器的certificateChainFile参数指向该链文件 - 如果使用JKS格式密钥库:按顺序先导入中间证书(别名设为intermediate),再导入服务器证书,确保证书关联关系正确
内容的提问来源于stack exchange,提问作者Joel Castro
相关产品推荐
相关产品推荐

