Cisco C9300交换机导入CA签发证书后HTTPS访问仍提示不安全(NET::ERR_CERT_COMMON_NAME_INVALID)求助
Cisco C9300交换机导入CA签发证书后HTTPS访问仍提示不安全(NET::ERR_CERT_COMMON_NAME_INVALID)求助
我来帮你梳理下问题的核心,结合你给出的几次更新,这个NET::ERR_CERT_COMMON_NAME_INVALID错误本质是浏览器的证书匹配校验规则导致的——现在主流浏览器(比如Edge)已经不再优先依赖证书的CN(通用名称)字段做匹配,而是强制要求证书的SAN(主题备用名称)里必须包含你访问时使用的IP或域名。哪怕你的CN设置成了IP,只要SAN里没对应条目,浏览器还是会判定证书无效。
针对你遇到的几个具体问题,我给你拆解下解决思路:
1. 为什么配置了ip-address命令,证书里却没有IP SAN?
你在信任点配置里加了ip-address 192.168.1.51但证书里看不到IP SAN,大概率是两个原因:
- 你的Microsoft CA模板不支持IP类型的SAN:默认的Web Server模板可能没开启允许添加IP地址作为备用名称的选项。你需要登录CA服务器,编辑对应的证书模板,在「主题名称」选项卡中选择「在请求中提供」,然后在「备用名称」里勾选「IP地址」,保存模板后重新申请证书。
- CSR里根本没包含IP字段:你可以用
show crypto pki trustpoint my-trustpoint查看信任点配置的生效情况,或者把生成的CSR内容复制到文本编辑器里,看看有没有IP Address:192.168.1.51这类字段。如果CSR里没有,那可能是配置语法的小问题——Cisco IOS-XE中,ip-address命令是单独用来指定IP类型SAN的,不需要和subject-alt-name混用。
2. 正确的信任点配置应该怎么写?
针对你用IP访问交换机的场景,正确的信任点配置应该是这样的(注意细节):
crypto pki trustpoint my-trustpoint enrollment terminal pem # CN建议设为交换机的FQDN,更规范 subject-name C=US, ST=Pennsylvania, L=My-Town, O=My-Org, OU=My-Department, CN=My-Switch.my-network.com # 用dns前缀指定DNS类型的SAN,对应交换机的FQDN subject-alt-name dns:My-Switch.my-network.com # 单独用ip-address命令添加访问用的IP作为SAN ip-address 192.168.1.51 serial-number none revocation-check none rsakeypair my-4096rsa-key end
配置完成后,重新生成CSR(crypto pki enroll my-trustpoint),提交给CA时要确保CA读取到IP SAN字段并签发进去。
3. 验证证书是否生效的关键步骤
证书导入交换机后,一定要用这个命令检查:
show crypto pki certificates my-trustpoint
在输出里找Alternative Name部分,确认是否有IP Address:192.168.1.51的条目——只有这里显示了IP,浏览器才会认可这个证书。
另外还要确认HTTPS服务绑定了正确的信任点:
ip http secure-trustpoint my-trustpoint
如果绑定的是默认信任点,哪怕你导入了新证书,HTTPS也不会用它。
4. 为什么把CN设为IP也没用?
现在Chrome、Edge这类浏览器已经完全遵循RFC 2818的最新规范,不再用CN字段做域名/IP匹配,必须依赖SAN字段。所以哪怕你把CN设成了访问用的IP,只要SAN里没这个IP,浏览器还是会报不安全。
备注:内容来源于stack exchange,提问作者JukEboX
相关产品推荐
相关产品推荐

