自建Windows CA生成Tomcat证书遇NET::ERR_CERT_COMMON_NAME_INVALID错误求助
解决Tomcat证书
NET::ERR_CERT_COMMON_NAME_INVALID错误的方案 核心原因
该错误本质是证书的通用名称(CN)或主题备用名称(SAN)与客户端访问的URL域名不匹配——LDAPS场景通常仅需证书匹配服务器主机名/IP即可,但Tomcat作为Web服务,客户端访问的完整域名(如https://your-app-domain.com)必须与证书内的标识完全一致,且当前主流浏览器优先校验SAN字段而非CN。
具体修复步骤
1. 检查证书标识是否匹配
- 用Windows证书管理器打开PFX文件,查看「详细信息」标签下的「主题」(提取CN值)和「主题备用名称」字段
- 确认其中至少有一个值与客户端访问Tomcat的完整域名/IP完全一致(例如访问地址是
https://tomcat.example.com:8443,则证书需包含tomcat.example.com)
2. 重新生成符合Web服务要求的证书
若证书标识不匹配,重新通过自建CA的Web Server模板申请:
- 申请时,「使用者名称」填写Tomcat的访问域名(如
tomcat.example.com) - 必须添加主题备用名称(SAN),包含所有可能的访问标识(域名、公网IP、内部主机名)
- 导出PFX时确保勾选「导出私钥」,并设置正确的密码
3. 验证Tomcat SSL配置
检查server.xml中的SSL连接器配置是否正确:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/your-cert.pfx" certificateKeystoreType="PKCS12" certificateKeystorePassword="your-pfx-password"/> </SSLHostConfig> </Connector>
- 确认
certificateKeystoreFile指向正确的PFX文件路径 - 密码需与导出PFX时设置的一致
- 修改后重启Tomcat生效
4. 确保客户端信任自建CA根证书
将自建CA的根证书导入客户端浏览器的「受信任根证书颁发机构」存储区——若此前LDAPS已配置过,需确认Web浏览器的证书存储内存在该根CA证书
差异说明:为什么LDAPS能用但Tomcat不行?
LDAPS的客户端(如AD管理工具)通常仅校验证书与服务器主机名/IP的匹配度,对SAN字段无强制要求;但Web浏览器对HTTPS证书的校验标准更严格,不仅要求标识完全匹配,还强制优先校验SAN字段,且不支持仅用短主机名匹配(除非客户端内部DNS能解析短主机名为完整域名)
内容的提问来源于stack exchange,提问作者luisa perez tuti
相关产品推荐
相关产品推荐

