名称属性

名称属性是证书的属性和证书请求的属性,表示有关使用者的数据,即证书的所有者或为其请求证书的个人。 每个名称属性都由属性名称标识。 这些名称不可本地化;但是,名称属性通常对应于证书服务数据库列,可以使用证书颁发机构 MMC 管理单元、命令行工具“certutil -schema”或 IEnumCERTVIEWCOLUMN::GetDisplayName 方法显示数据库列名称的本地化版本。

属性名称 (,但别名) 可能具有“Subject”。作为可选前缀。 例如,若要引用使用者的公用名,可以使用“CommonName”或“Subject.CommonName”。

除了名称之外,每个属性还具有证书服务识别为属性的备用名称的一些别名。 请注意, (OID) 的对象标识符 是可接受的别名, szOID_* 常量也一样。 这些常量是 Wincrypt.h) 中 (表示 OID 的定义。 例如, szOID_COMMON_NAME 定义为“2.5.4.3”。 因此,可以使用 szOID_* 常量作为别名代替它们所表示的 OID。

属性名称 别名 数据类型 说明
“Subject.CommonName” “CommonName”“CN”
"2.5.4.3"
szOID_COMMON_NAME
字符串 (最大 64 个字符) 对于用户证书,该人的全名。 对于计算机证书,域名系统中使用的完全限定的 HostNamePath (DNS) 查找 (例如 HostName。**/Example.com**) 。
“Subject.Country” “Country” “C”
"2.5.4.6"
szOID_COUNTRY_NAME
字符串 (最大 2 个字符) 主题的国家或地区。 这是 X.500 两个字符的国家/地区代码 (例如,适用于加拿大美国或 CA) 。
许多这两个字符的代码在 ISO 3166 标准中定义。 此外,通过调用 Windows 函数 GetLocaleInfo (,可以通过指定 LOCALE_SISO3166CTRYNAME) 的 LCType 来获取当前区域设置的代码。
“Subject.DeviceSerialNumber” “DeviceSerialNumber” “2.5.4.5”
szOID_DEVICE_SERIAL_NUMBER
字符串 (最大 1024 个字符) 设备序列号。
“Subject.DomainComponent” “DomainComponent”“DC”
"0.9.2342.19200300.100.1.25"
szOID_DOMAIN_COMPONENT
字符串 (最大 128 个字符) 域名系统 (DNS) 名称的组件。
“Subject.EMail” “EMail”“E”
"1.2.840.113549.1.9.1"
szOID_RSA_emailAddr
字符串 (最大 128 个字符) 电子邮件地址 (,例如“”someone@example.com) 。
“Subject.GivenName” “GivenName” “G”
"2.5.4.42"
szOID_GIVEN_NAME
字符串 (最大 16 个字符) 主题的名字。
“Subject.Initials” “Initials” “I”
"2.5.4.43"
szOID_INITIALS
字符串 (最大 5 个字符) 主题的缩写 (可选) 。
“subject.Locality” “Locality”“L”
"2.5.4.7"
szOID_LOCALITY_NAME
字符串 (最大 128 个字符) 主题城市的名称。
“Subject.Organization” “组织”“组织”
“O”
"2.5.4.10"
szOID_ORGANIZATION_NAME
字符串 (最大 64 个字符) 主题组织的法律名称。
“Subject.OrgUnit” “OrgUnit”“OrganizationUnit”
“OrganizationUnit”
“OU”
"2.5.4.11"
szOID_ORGANIZATIONAL_UNIT_NAME
字符串 (最大 64 个字符) 主题的子组织或部门的名称。
“Subject.State” “State” “ST”
“S”
"2.5.4.8"
szOID_STATE_OR_PROVINCE_NAME
字符串 (最大 128 个字符) 例如,加州) ,主题的州或省的全名 (。
“Subject.StreetAddress” “StreetAddress”“Street”
"2.5.4.9"
szOID_STREET_ADDRESS
字符串 (最大 30 个字符) 主题的街道地址或 PO Box。
“Subject.SurName” “SurName”“SN”
"2.5.4.4"
szOID_SUR_NAME
字符串 (最多 40 个字符) 使用者的姓氏。
“Subject.Title” “Title” “T”
"2.5.4.12"
szOID_TITLE
字符串 (最大 64 个字符) 请求证书的个人标题 (可选) 。
“Subject.UnstructuredAddress” “UnstructuredAddress” “1.2.840.113549.1.9.8”
szOID_RSA_unstructAddr
字符串 (最大 1024 个字符) 非结构化地址。
“Subject.UnstructuredName” “UnstructuredName” “1.2.840.113549.1.9.2”
szOID_RSA_unstructName
字符串 (最大 1024 个字符) 非结构化名称。

 

以下属性与主题相关,尽管它们不是名称属性。 策略模块无法直接设置这些属性。

属性 数据类型 说明
“Request.DistinguishedName” 字符串 (最大 8192 个字符) 请求的 相对可分辨名称 ,请求中主题的文本表示形式。 此表示形式由名称属性组成,例如“CN=MyName,OU=MyOrgUnit,C=US”。 Certificate Services 应用程序在调用策略模块之前设置此属性,方法是使用 RawRequest 的 Subject 调用 CertNameToStr
“Request.RawName” 二进制 (最大 4096 字节) 抽象语法表示法 1 (ASN.1) 从请求中提取的二进制主题 BLOB 。 证书服务应用程序在调用策略模块之前设置此属性;其值由 RawRequest 的主题决定。
“DistinguishedName” 字符串 (最大 8192 个字符) 证书的相对可分辨名称,是证书中使用者的文本表示形式。 此表示形式由名称属性组成,例如“CN=MyName,OU=MyOrgUnit,C=US”。 Certificate Services 应用程序使用 RawName 调用 CertNameToStr ,在调用策略模块后设置此属性。
“RawName” 二进制 (最大 4096 字节) 用于构造证书的 ASN.1 二进制使用者 BLOB 。 证书服务应用程序在调用策略模块后设置此属性;其值由 subjectTemplate 指示的特定名称属性的值 (Subject.CommonName 等) 确定。

 

哪些 相对可分辨名称 组件显示在 DistinguishedName 属性中,其显示顺序由以下注册表项中包含的“SubjectTemplate”注册表值控制:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            CertSvc
               Configuration
                  CaName

当证书服务分析 属性 名称时,它会忽略空格、连字符 (减号) 和大小写。 例如,“AttributeName1”、“Attribute Name1”和“Attribute-name1”都是等效的。 对于属性值,证书服务将忽略前导空格和尾随空格。

除 DistinguishedName、RawName 和 Subject.Country 之外的所有属性都支持使用换行符的多值语法。 不能禁用或更改换行符。

证书属性

ICertServerExit::GetCertificateProperty

ICertServerExit::GetRequestProperty

ICertServerPolicy::GetCertificateProperty

ICertServerPolicy::GetRequestProperty

ICertServerPolicy::SetCertificateProperty