Поделиться через


Свойства имени

Свойства имен — это свойства сертификатов и запросов сертификатов, которые представляют данные о субъекте, то есть о владельце сертификата или физическом лице, для которого запрашивается сертификат. Каждое свойство name определяется именем свойства. Эти имена не являются локализуемыми; Однако свойства имени обычно соответствуют столбцу базы данных служб сертификатов. Для отображения локализованных версий имен столбцов базы данных можно использовать оснастку MMC центра сертификации, программу командной строки "certutil -schema" или метод IEnumCERTVIEWCOLUMN::GetDisplayName .

Имя свойства (но не псевдонимы) может иметь "Subject". В качестве необязательного префикса. Например, для ссылки на общее имя субъекта можно использовать "CommonName" или "Subject.CommonName".

В дополнение к имени каждое свойство имеет некоторое количество псевдонимов, которые службы сертификатов распознают как альтернативные имена для свойства. Обратите внимание, что идентификаторы объектов (OID) являются допустимыми псевдонимами, как и константы szOID_* . Эти константы являются определениями (в Wincrypt.h), которые представляют идентификаторы OID. Например, szOID_COMMON_NAME определяется как "2.5.4.3". Следовательно, константы szOID_* можно использовать в качестве псевдонимов вместо OID, которые они представляют.

Имя свойства Aliases Тип данных Описание
"Subject.CommonName" "CommonName" "CN"
"2.5.4.3"
szOID_COMMON_NAME
Строка (максимум 64 символа) Для сертификатов пользователей — полное имя пользователя. Для сертификатов компьютеров — полный путь имени**/ узла, используемый при поиске в службе доменных имен (DNS) (например, HostName. Example.com**).
"Subject.Country" "Country" "C"
"2.5.4.6"
szOID_COUNTRY_NAME
Строка (максимум 2 символа) Страна или регион субъекта. Это двухзначный код страны или региона X.500 (например, США для США или ЦС для Канады).
Многие из этих двухзначных кодов определены в стандарте ISO 3166. Кроме того, код текущего языкового стандарта доступен через вызов функции Windows GetLocaleInfo (указав LCType LOCALE_SISO3166CTRYNAME).
"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 символов) Email адрес (например, "someone@example.com").
"Subject.GivenName" "GivenName" "G"
"2.5.4.42"
szOID_GIVEN_NAME
Строка (максимум 16 символов) Имя субъекта.
"Subject.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"
"OrganizationalUnit"
"Подразделение"
"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 символов) Почтовый адрес субъекта или почтовый ящик.
"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". Приложение служб сертификатов задает это свойство перед вызовом модуля политики, вызывая CertNameToStr с помощью субъекта RawRequest.
"Request.RawName" Двоичный файл (максимум 4096 байт) Абстрактная синтаксическая нотация One (ASN.1) — двоичный BLOB-объект субъекта, извлеченный из запроса. Приложение служб сертификатов задает это свойство перед вызовом модуля политики; его значение определяется субъектом RawRequest.
"Различающееся имя" Строка (максимум 8192 символа) Относительное различающееся имя сертификата, текстовое представление субъекта в сертификате. Это представление состоит из свойств имени, например "CN=MyName, OU=MyOrgUnit, C=US". Приложение служб сертификатов задает это свойство после вызова модуля политики путем вызова CertNameToStr с помощью rawName.
"RawName" Двоичный файл (максимум 4096 байт) BLOB-объект двоичного субъекта ASN.1, используемый для создания сертификата. Приложение служб сертификатов задает это свойство после вызова модуля политики; его значение определяется значениями определенных свойств имен (Subject.CommonName и т. д.) в соответствии с указаниями SubjectTemplate.

 

Компоненты с относительным различаемыми именами , которые отображаются в свойстве Различающееся имя, и порядок их отображения определяются значением реестра SubjectTemplate, содержащимся в следующем разделе реестра:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            CertSvc
               Configuration
                  CaName

При анализе имен атрибутов службы сертификатов игнорируют пробелы, дефисы (знаки минус) и регистр. Например, "AttributeName1", "Attribute Name1" и "Attribute-name1" являются эквивалентными. Для значений атрибутов службы сертификатов игнорируют начальные и конечные пробелы.

Все предыдущие свойства, за исключением Различающегося имени, RawName и Subject.Country, поддерживают синтаксис с несколькими значениями с использованием символа новой строки. Разделитель newline нельзя отключить или изменить.

Свойства сертификата

ICertServerExit::GetCertificateProperty

ICertServerExit::GetRequestProperty

ICertServerPolicy::GetCertificateProperty

ICertServerPolicy::GetRequestProperty

ICertServerPolicy::SetCertificateProperty