3.7.3. 使用 SAN 扩展中的 CN 属性
有几个客户端应用程序和库不再支持使用 Subject DN 的 Common Name(CN)属性进行域名验证,在 RFC 2818 中已被弃用。相反,这些应用程序和库在证书请求中使用
dNSName
Subject Alternative Name(SAN)值。
只有在根据 RFC 1034 第 3.5 节 3.5 节 和具有多个组件匹配首选名称语法时,证书系统才会复制 CN。另外,现有 SAN 值会被保留。例如,基于 CN 的
dNSName
值被附加到现有 SAN。
要将证书系统配置为自动使用 SAN 扩展中的 CN 属性,请编辑用于发布证书的证书配置集。例如:
- 禁用配置集:
# pki -c password -p 8080 \ -n "PKI Administrator for example.com" ca-profile-disable profile_name
- 编辑配置集:
# pki -c password -p 8080 \ -n "PKI Administrator for example.com" ca-profile-edit profile_name
- 添加带有配置集唯一设置号的以下配置。例如:
policyset.serverCertSet.12.constraint.class_id=noConstraintImpl policyset.serverCertSet.12.constraint.name=No Constraint policyset.serverCertSet.12.default.class_id=commonNameToSANDefaultImpl policyset.serverCertSet.12.default.name=Copy Common Name to Subject
前面的示例使用 12 作为集合号。 - 将新策略设置号附加到
policyset.userCertSet.list
参数。例如:policyset.userCertSet.list=1,10,2,3,4,5,6,7,8,9,12
- 保存配置集。
- 启用配置集:
# pki -c password -p 8080 \ -n "PKI Administrator for example.com" ca-profile-enable profile_name
注意
所有默认服务器配置集都包含
commonNameToSANDefaultImpl
默认。