使用cert-manager CA Issuer生成证书出现NET::ERR_CERT_AUTHORITY_INVALID问题排查
我在使用cert-manager的CA Issuer,该Issuer的证书由PKI团队生成并妥善保管,但为应用生成的证书触发了NET::ERR_CERT_AUTHORITY_INVALID错误。
相关信息:
- Issuer的URL:
cert-manager.plat-intdev.mydomain.com - 目标应用的URL:
demo-app.plat-int-dev.mydomain.com
疑问:子域名差异是否可能是故障原因?
另外,Issuer证书的主体信息:
CN = Issuer name OU = DAL OU = PKI OU = PAL O = MYORG1
生成的应用证书的Issuer信息:
CN = cert-manager.plat-intdev.mydomain.com OU = plat O = MYSUBORG2 L = Default City C = US
问题分析与结论
1. 子域名差异的影响
子域名中plat-intdev和plat-int-dev的短横差异不会直接导致证书信任错误。浏览器验证证书信任链时,仅关注证书的颁发者是否在本地信任存储中,以及证书的SAN/CN是否匹配访问域名,与Issuer的URL子域名格式无关。
2. 核心故障原因:Issuer信息不匹配
这才是触发NET::ERR_CERT_AUTHORITY_INVALID的关键:
- 你明确说明Issuer证书来自PKI团队,其主体信息为
CN = Issuer name, OU = DAL, OU = PKI, OU = PAL, O = MYORG1 - 但应用证书的Issuer却显示为完全不同的主体信息:
CN = cert-manager.plat-intdev.mydomain.com, OU = plat, O = MYSUBORG2...
这表明cert-manager实际用于颁发证书的CA,并非PKI团队提供的那根CA证书,大概率是cert-manager自动生成的自签CA。由于这根自签CA未被浏览器或客户端信任,因此会触发证书不可信错误。
排查建议
- 检查cert-manager的CA Issuer配置,确认
spec.ca.secretName是否指向存储PKI团队CA证书和私钥的Secret - 验证该Secret中的证书内容,确保其主体信息与PKI团队提供的一致
- 手动触发应用证书的重新颁发,确认生成的证书Issuer信息与PKI团队的CA证书匹配
内容的提问来源于stack exchange,提问作者Danilo Patrucco
相关产品推荐
相关产品推荐

