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


Перечисление X500NameFlags (certenroll.h)

Тип перечисления X500NameFlags указывает отображение и кодировку характеристик различающегося имени или относительного различающегося имени (RDN). Это перечисление используется для инициализации объекта IX500DistinguishedName.

Синтаксис

typedef enum X500NameFlags {
  XCN_CERT_NAME_STR_NONE = 0,
  XCN_CERT_SIMPLE_NAME_STR = 1,
  XCN_CERT_OID_NAME_STR = 2,
  XCN_CERT_X500_NAME_STR = 3,
  XCN_CERT_XML_NAME_STR = 4,
  XCN_CERT_NAME_STR_SEMICOLON_FLAG = 0x40000000,
  XCN_CERT_NAME_STR_NO_PLUS_FLAG = 0x20000000,
  XCN_CERT_NAME_STR_NO_QUOTING_FLAG = 0x10000000,
  XCN_CERT_NAME_STR_CRLF_FLAG = 0x8000000,
  XCN_CERT_NAME_STR_COMMA_FLAG = 0x4000000,
  XCN_CERT_NAME_STR_REVERSE_FLAG = 0x2000000,
  XCN_CERT_NAME_STR_FORWARD_FLAG = 0x1000000,
  XCN_CERT_NAME_STR_AMBIGUOUS_SEPARATOR_FLAGS,
  XCN_CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG = 0x10000,
  XCN_CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG = 0x20000,
  XCN_CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG = 0x40000,
  XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG = 0x80000,
  XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG = 0x100000,
  XCN_CERT_NAME_STR_ENABLE_PUNYCODE_FLAG = 0x200000,
  XCN_CERT_NAME_STR_DS_ESCAPED = 0x800000
} ;

Константы

 
XCN_CERT_NAME_STR_NONE
Значение: 0
Характеристики отображения не определены.
XCN_CERT_SIMPLE_NAME_STR
Значение: 1
Все идентификаторы объектов (OID) удаляются. относительные различающиеся имена (RDN) разделены запятыми, за которыми следует пробел (, ). Атрибуты RDN разделены знаком плюса, заключенным в пробелы (+ ).
XCN_CERT_OID_NAME_STR
Значение: 2
OID отделяются от связанного значения атрибута с помощью знака равенства (=). RDN разделены запятой, за которой следует пробел (, ). Атрибуты RDN разделены знаком плюса, за которым следует пробел (+).
XCN_CERT_X500_NAME_STR
Значение: 3
OID преобразуются в имена ключей X.500. Они отделены от связанного значения атрибута с помощью знака равенства (=). RDN разделены запятой, за которой следует пробел (, ). Атрибуты RDN разделены знаком плюса, за которым следует пробел (+).

Если у OID нет соответствующего имени X.500, OID используется с префиксом OID. RDN заключен в кавычки (""), если он содержит начальный или конечный пробел или один из следующих символов:

  • Запятая (,)

  • Знак плюса (+)

  • Знак равенства (=)

  • Знак дюйма (")

  • Веб-канал строк (\n)

  • Меньше знака (<)

  • Больше знака (>)

  • Знак номера (#)

  • Точка с запятой (;)

  • Внедренная кавычка (")

XCN_CERT_XML_NAME_STR
Значение: 4
OID обрабатываются таким же образом, как и для преобразования XCN_CERT_X500_NAME_ST значений, за исключением того, что они форматируются в виде последовательности XML-элементов. Это показано в следующем примере:


<CN>cart.contoso.com</CN>
<OU>условия использования по www.verisign.com/rpa (c)00</OU>
<OU rDNAttribute="true">ИТ-операции</OU>
<O>Contoso.com</O>
<L>Нью-йорк</L>
<S>Нью-йорк</S>
<C>США</C>
<RDN oid="1.2.3.4" type="string">name</RDN>
<RDN rDNAttribute="true" oid="1.2.1.3" type="encoded">0500</RDN>
<RDN oid="1.2.1.4" type="encoded">020135</RDN>
<RDN oid="1.2.2.5.3" type="octet">01FF7F</RDN>


Символы разметки XML Юникода экранируются следующим образом. Символы, превышающие 0x7F, экранируются с помощью ссылок на символы (L"&#xXXXX;).


  • & становится L"&"

  • < становится L"<"

  • > становится L">"

  • 'становится L"'"

  • "становится L"""

XCN_CERT_NAME_STR_SEMICOLON_FLAG
Значение: 0x40000000
Разделитель запятых (,), используемый между удаленными сетями, заменяется точкой с запятой (;) символом.
XCN_CERT_NAME_STR_NO_PLUS_FLAG
Значение: 0x20000000
Разделитель (+), используемый между атрибутами RDN, заменяется одним символом пробела.
XCN_CERT_NAME_STR_NO_QUOTING_FLAG
Значение: 0x10000000
Подавляет использование кавычки для значения XCN_CERT_X500_NAME_ST.
XCN_CERT_NAME_STR_CRLF_FLAG
Значение: 0x8000000
Разделитель запятых (,), используемый между удаленными сетями, заменяется последовательностью возврата или строки каретки (\r\n).
XCN_CERT_NAME_STR_COMMA_FLAG
Значение: 0x4000000
Указывает, что разделитель между удаленными сетями является запятой (,).
XCN_CERT_NAME_STR_REVERSE_FLAG
Значение: 0x2000000
Указывает, что порядок RDN, составляющих различающееся имя (DN), является обратным для кодирования. Типичный порядок отображения DN — CN=имя,...,DC=com. Используйте этот флаг для изменения порядка кодирования на DC=com,...,CN=имени. Объект IX500DistinguishedName задает этот флаг по умолчанию, если XCN_CERT_NAME_STR_FORWARD_FLAG.
XCN_CERT_NAME_STR_FORWARD_FLAG
Значение: 0x1000000
Используется для отмены порядка кодирования, указанного путем задания значения XCN_CERT_NAME_STR_REVERSE_FLAG.
XCN_CERT_NAME_STR_AMBIGUOUS_SEPARATOR_FLAGS
XCN_CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG
Значение: 0x10000
Пропускает начальную попытку декодировать значения символов Телетекса T.61 в значения UTF-8. По умолчанию значения T.61 изначально декодируются в UTF-8, но если декодирование UTF-8 завершается ошибкой, значения декодируются как 8-разрядные символы.
XCN_CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG
Значение: 0x20000
T.61 используется вместо кодировки символов Юникода для всех символов меньше 0xFF. LDAP, например, использует T.61.
XCN_CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG
Значение: 0x40000
UTF-8 используется для различающегося имени (DN) вместо кодировки символов Юникода.
XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG
Значение: 0x80000
Принудительно закодировать следующие ключи X.500 как строки UTF-8, а не печатные строки Юникода. Ниже приведен список ключей и их соответствующих идентификаторов объектов (OID).


  • CN - XCN_OID_COMMON_NAME

  • G - XCN_OID_GIVEN_NAME

  • GivenName — XCN_OID_GIVEN_NAME

  • GN — XCN_OID_GIVEN_NAME

  • Я - XCN_OID_INITIALS

  • Инициалы — XCN_OID_INITIALS

  • L - XCN_OID_LOCALITY_NAME

  • O - XCN_ORGANIZATION_NAME

  • Подразделение — XCN_OID_ORGANIZATIONAL_UNIT_NAME

  • S - XCN_OID_STATE_OR_PROVINCE_NAME

  • SN — XCN_ID_SUR_NAME

  • ST - XCN_OID_STATE_OR_PROVINCE_NAME

  • STREET - XCN_OID_STREET_ADDRESS

  • T - XCN_OID_TITLE

  • Заголовок — XCN_OID_TITLE

XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG
Значение: 0x100000
Предотвращает принудительное кодирование строк Юникода с помощью UTF-8. Используйте при необходимости, если XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG является поведением по умолчанию.
XCN_CERT_NAME_STR_ENABLE_PUNYCODE_FLAG
Значение: 0x200000
Строки, содержащие символы Юникода, перекодируются в Punycode, ограниченное подмножество символов ASCII, используемое для имен узлов Интернета. Это подмножество символов ASCII состоит из букв, цифр и дефисов.
XCN_CERT_NAME_STR_DS_ESCAPED
Значение: 0x800000
Экранирует символы, которые не допускаются в различающихся именах (DN).

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2008 [только классические приложения]
заголовка certenroll.h

См. также

перечисления CertEnroll

интерфейсы CertEnroll

IX500DistinguishedName