Структура CERT_RDN_ATTR содержит один атрибут относительного различающегося имени (RDN). Целое RDN выражается в CERT_RDN структуре, содержащей массив CERT_RDN_ATTR структур.
Синтаксис
typedef struct _CERT_RDN_ATTR {
LPSTR pszObjId;
DWORD dwValueType;
CERT_RDN_VALUE_BLOB Value;
} CERT_RDN_ATTR, *PCERT_RDN_ATTR;
Члены
pszObjId
Идентификатор объекта (OID) для типа атрибута, определенного в этой структуре. Этот элемент может быть одним из следующих идентификаторов OID.
Значение |
Значение |
-
szOID_AUTHORITY_REVOCATION_LIST
|
Атрибут безопасности.
|
-
szOID_BUSINESS_CATEGORY
|
Строка без учета регистра.
Пояснительный атрибут.
|
-
szOID_CA_CERTIFICATE
|
Атрибут безопасности.
|
-
szOID_CERTIFICATE_REVOCATION_LIST
|
Атрибут безопасности.
|
-
szOID_COMMON_NAME
|
Строка без учета регистра.
Атрибут маркировки.
|
-
szOID_COUNTRY_NAME
|
Двухсимвная печатаемая строка.
Географический атрибут.
|
-
szOID_CROSS_CERTIFICATE_PAIR
|
Атрибут безопасности.
|
-
szOID_DESCRIPTION
|
Строка без учета регистра. Пояснительный атрибут.
|
-
szOID_DESTINATION_INDICATOR
|
Печатаемая строка.
Атрибут адресации телекоммуникаций.
|
-
szOID_DEVICE_SERIAL_NUMBER
|
Печатаемая строка.
Атрибут маркировки.
|
-
szOID_DOMAIN_COMPONENT
|
Строка IA5. Компонент DNS-имени, например "com."
|
-
szOID_FACSIMILE_TELEPHONE_NUMBER
|
Атрибут адресации телекоммуникаций.
|
-
szOID_GIVEN_NAME
|
Строка без учета регистра.
Атрибут имени.
|
-
szOID_INITIALS
|
Строка без учета регистра. Атрибут имени.
|
-
szOID_INTERNATIONAL_ISDN_NUMBER
|
Числовая строка.
Атрибут адресации телекоммуникаций.
|
-
szOID_LOCALITY_NAME
|
Строка без учета регистра.
Географический атрибут.
|
-
szOID_MEMBER
|
Атрибут реляционного приложения.
|
-
szOID_ORGANIZATION_NAME
|
Строка без учета регистра.
Атрибут организации.
|
-
szOID_ORGANIZATIONAL_UNIT_NAME
|
Строка без учета регистра.
Атрибут организации.
|
-
szOID_OWNER
|
Атрибут реляционного приложения.
|
-
szOID_PHYSICAL_DELIVERY_OFFICE_NAME
|
Строка без учета регистра.
Атрибут почтовой адресации.
|
-
szOID_PKCS_12_FRIENDLY_NAME_ATTR
|
Атрибут PKCS 12.
|
-
szOID_PKCS_12_LOCAL_KEY_ID
|
Атрибут PKCS 12.
|
-
szOID_POST_OFFICE_BOX
|
Строка без учета регистра.
Атрибут почтовой адресации.
|
-
szOID_POSTAL_ADDRESS
|
Печатаемая строка.
Атрибут почтовой адресации.
|
-
szOID_POSTAL_CODE
|
Строка без учета регистра.
Атрибут почтовой адресации.
|
-
szOID_PREFERRED_DELIVERY_METHOD
|
Атрибут предпочтения.
|
-
szOID_PRESENTATION_ADDRESS
|
Атрибут приложения OSI.
|
-
szOID_REGISTERED_ADDRESS
|
Атрибут адресации телекоммуникаций.
|
-
szOID_ROLE_OCCUPANT
|
Атрибут реляционного приложения.
|
-
szOID_RSA_emailAddr
|
Строка IA5.
атрибут Email.
|
-
szOID_SEARCH_GUIDE
|
Пояснительный атрибут.
|
-
szOID_SEE_ALSO
|
Атрибут реляционного приложения.
|
-
szOID_STATE_OR_PROVINCE_NAME
|
Строка без учета регистра.
Географический атрибут.
|
-
szOID_STREET_ADDRESS
|
Строка без учета регистра.
Географический атрибут.
|
-
szOID_SUPPORTED_APPLICATION_CONTEXT
|
Атрибут приложения OSI.
|
-
szOID_SUR_NAME
|
Строка без учета регистра.
Атрибут маркировки.
|
-
szOID_TELEPHONE_NUMBER
|
Атрибут адресации телекоммуникаций.
|
-
szOID_TELETEXT_TERMINAL_IDENTIFIER
|
Атрибут адресации телекоммуникаций.
|
-
szOID_TELEX_NUMBER
|
Атрибут адресации телекоммуникаций.
|
-
szOID_TITLE
|
Строка без учета регистра.
Атрибут организации.
|
-
szOID_USER_CERTIFICATE
|
Атрибут безопасности.
|
-
szOID_USER_PASSWORD
|
Атрибут безопасности.
|
-
szOID_X21_ADDRESS
|
Числовая строка.
Атрибут адресации телекоммуникаций.
|
dwValueType
Указывает интерпретацию элемента Value .
Этот элемент может быть одним из следующих значений.
Значение |
Значение |
-
CERT_RDN_ANY_TYPE
|
Член pszObjId определяет предполагаемый тип и длину.
|
-
CERT_RDN_BMP_STRING
|
Массив символов Юникода (16-разрядный).
|
-
CERT_RDN_ENCODED_BLOB
|
Большой двоичный объект с закодированными данными.
|
-
CERT_RDN_GENERAL_STRING
|
В настоящее время не используется.
|
-
CERT_RDN_GRAPHIC_STRING
|
В настоящее время не используется.
|
-
CERT_RDN_IA5_STRING
|
Произвольная строка символов IA5 (ASCII).
|
-
CERT_RDN_INT4_STRING
|
Массив элементов INT4 (32-разрядный).
|
-
CERT_RDN_ISO646_STRING
|
Набор 128 символов (8 бит).
|
-
CERT_RDN_NUMERIC_STRING
|
Только символы от 0 до 9 и символ пробела (8 бит).
|
-
CERT_RDN_OCTET_STRING
|
Произвольная строка октетов (8 бит).
|
-
CERT_RDN_PRINTABLE_STRING
|
Произвольная строка печатных символов (8-разрядная).
|
-
CERT_RDN_T61_STRING
|
Произвольная строка из символов T.61 (8 бит).
|
-
CERT_RDN_TELETEX_STRING
|
Произвольная строка из символов T.61 (8 бит) |
-
CERT_RDN_UNICODE_STRING
|
Массив символов Юникода (16-разрядный).
|
-
CERT_RDN_UNIVERSAL_STRING
|
Массив элементов INT4 (32-разрядный).
|
-
CERT_RDN_UTF8_STRING
|
Массив из 16-разрядных символов Юникода UTF8, закодированных на проводе в виде последовательности из одного, двух или трех восьмибитовых символов.
|
-
CERT_RDN_VIDEOTEX_STRING
|
Произвольная строка символов видеотекста.
|
-
CERT_RDN_VISIBLE_STRING
|
Набор из 95 символов (8 бит).
|
Следующие флаги можно объединить с помощью побитовой операции ИЛИ в члене dwValueType .
Значение |
Значение |
-
CERT_RDN_DISABLE_CHECK_TYPE_FLAG
|
Для кодирования. Если задано значение, символы не проверяются, чтобы определить, допустимы ли они для типа значения.
|
-
CERT_RDN_DISABLE_IE4_UTF8_FLAG
|
Для декодирования. По умолчанию CERT_RDN_T61_STRING закодированные значения изначально декодируются как UTF8. Если декодирование UTF8 завершается сбоем, значение декодируется как 8-разрядные символы. Если этот флаг установлен, он пропускает начальную попытку декодировать как UTF8 и декодирует значение в виде 8-разрядных символов.
|
-
CERT_RDN_ENABLE_T61_UNICODE_FLAG
|
Для кодирования. Если все символы Юникода имеют <значение = 0xFF, то вместо значения CERT_RDN_UNICODE_STRING выбирается значение CERT_RDN_T61_STRING.
|
-
CERT_RDN_ENABLE_UTF8_UNICODE_FLAG
|
Для кодирования. Если задано значение , строки кодируются с помощью значения CERT_RDN_UTF8_STRING вместо значения CERT_RDN_UNICODE_STRING .
|
-
CERT_RDN_FORCE_UTF8_UNICODE_FLAG
|
Для кодирования. Если этот параметр задан, строки кодируются с помощью значения CERT_RDN_UTF8_STRING вместо значения CERT_RDN_PRINTABLE_STRING для типов DirectoryString. Кроме того, включена CERT_RDN_ENABLE_UTF8_UNICODE_FLAG .
Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается.
|
-
CERT_RDN_ENABLE_PUNYCODE_FLAG
|
Для кодирования. Если строка содержит RDN электронной почты, а адрес электронной почты закодирован в Punycode, то результирующий адрес электронной почты кодируется как IA5String. Кодировка Punycode имени узла выполняется по меткам.
Для декодирования. Если имя содержит RDN электронной почты, а локальная часть или часть имени узла адреса электронной почты содержит IA5String в кодировке Punycode, строковое значение RDN преобразуется в эквивалент Юникода.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается.
|
Value
CERT_RDN_VALUE_BLOB, содержащий значение атрибута. Элемент cbDataзначения — это длина элемента pbData в байтах. Это не число элементов в строке pbData .
Например, DWORD имеет длину 32 бита или 4 байта. Если pbData является массивом DWORD , cbData будет в четыре раза больше числа элементов DWORD в массиве.
Short имеет длину 16 бит или 2 байта. Если pbData является массивом элементов SHORT , длина cbData должна быть в два раза больше массива.
Элемент pbDataобъекта Value может быть массивом 8-разрядных или 16-разрядных символов или массивом элементов фиксированной длины. Если параметру dwValueType присвоено значение CERT_RDN_ENCODED_BLOB, кодируется pbData .
Требования
Требование |
Значение |
Минимальная версия клиента |
Windows XP [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
Верхняя часть |
wincrypt.h |
См. также раздел
CERT_RDN
CRYPT_INTEGER_BLOB
CertIsRDNAttrsInCertificateName