国密证书的域名匹配规则与国际SSL证书类似,主要依据X.509标准,核心是 Subject Alternative Name (SAN) 字段。同时,国密证书也有一些需要特别注意的地方。
以下是详细的匹配规则和注意事项。
一、核心匹配规则
国密证书通过以下两种方式记录域名,浏览器会优先使用SAN字段进行匹配。
字段 说明 作用
通用名称 (CN) 证书的“通用名称”,只能填写一个主域名。 | 曾是主要匹配依据,现已被SAN字段取代,作为辅助信息存在。
主题备用名称 (SAN) 证书的扩展字段,是域名匹配的唯一强制依据,可包含多个域名或IP地址。 可包含多个精确域名和通配符域名。
根据SAN字段中域名的类型,匹配规则如下:
精确域名:只对完全一致的域名生效。例如,证书绑定 `www.example.com`,则只能用于 `www.example.com`,不能用于 `example.com` 或其他子域名。
通配符域名(泛域名):使用通配符 `*` 来匹配同一级别的所有子域名。
匹配示例:证书 `*.example.com` 可以匹配 `blog.example.com`、`shop.example.com` 等。
不匹配示例:证书 `*.example.com` 不能匹配 `a.b.example.com`(跨级),也不能匹配 `example.com`(主域名本身,但多数CA会默认赠送,见下文)。
IP地址:证书也可以直接绑定IP地址。需要在CSR中通过SAN扩展指定,如 `subjectAltName = IP:192.168.1.100`。
二、关键注意事项
在实际操作中,这几点需要特别留意:
1. 证书颁发后不可修改:证书的绑定域名在提交给CA机构审核后将无法修改。提交前务必仔细核对所有域名。
2. 国密证书的双证书机制:国密SSL证书通常包含加密证书和签名证书两张证书。申请时可选择生成两套CSR或共用一套,部署时需将两张证书都配置好。
3. 客户端兼容性是前提:确保用户的浏览器或应用支持国密算法(SM2/SM3/SM4)。可选用360安全浏览器、奇安信可信浏览器等,或在App中集成国密SDK。
4. 主域名的自动包含:通配符证书通常会自动包含其主域名。例如 `*.example.com` 的证书会默认保护 `example.com`。但若通配符不是一级域名,如 `*.test.example.com`,则不会自动保护 `example.com`。
5. 域名验证方式:申请时需证明域名所有权,可选DNS验证(添加TXT记录)、邮箱验证(使用特定前缀邮箱)或文件验证。通配符证书通常只能使用DNS或邮箱验证。
6. 证书链的完整性:部署时务必保证完整的证书链(包括根证书和中间证书)已正确安装,否则浏览器可能提示证书不受信。
7. 证书文件大小:一张证书绑定的域名不宜过多(建议不超过100个),否则证书文件过大会影响握手效率。
总结
申请国密证书时,可以遵循这几步来确保顺利:
1. 理清需求:明确需要保护的是单个域名、多个域名,还是某一级的所有子域名。
2. 仔细填写:在CSR或申请表单中,将所有需要保护的精确域名和通配符域名准确填入SAN字段。
3. 注意兼容:确认服务端和客户端的部署环境都支持国密算法。
4. 反复核对:提交前,务必再次检查所有域名信息,因为一旦提交就无法更改。