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


структура CERT_RDN_ATTR (wincrypt.h)

Структура 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