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


Метод IAlternativeName::InitializeFromRawData (certenroll.h)

Метод InitializeFromRawData инициализирует объект из GUID алгоритма цифровой подписи (DSA), имени каталога X.500 или IP-адреса, содержащегося в массиве байтов в кодировке Distinguished Encoding Rules (DER).

Синтаксис

HRESULT InitializeFromRawData(
  [in] AlternativeNameType Type,
  [in] EncodingType        Encoding,
  [in] BSTR                strRawData
);

Параметры

[in] Type

Значение перечисления AlternativeNameType , определяющее тип имени, представленного входной строкой. Это должно быть одно из следующих значений.

Значение Значение
XCN_CERT_ALT_NAME_DIRECTORY_NAME
Это имя каталога X.500.
XCN_CERT_ALT_NAME_IP_ADDRESS
Имя является IP-адресом.
XCN_CERT_ALT_NAME_GUID
Имя — guid.

[in] Encoding

Значение перечисления EncodingType , определяющее тип кодировки Юникода, примененный к параметру strRawData .

[in] strRawData

Переменная BSTR , содержащая данные в кодировке DER.

Возвращаемое значение

Если функция выполнена успешно, функция возвращает S_OK.

Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

Код возврата Описание
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Объект уже инициализирован.

Комментарии

Необработанные данные — это массив байтов, закодированный с помощью Distinguished Encoding Rules (DER). Массив байтов необходимо указать в виде строки в кодировке Юникод.

Если этот метод используется для указания ИДЕНТИФИКАТОРА GUID DSA (XCN_CERT_ALT_NAME_GUID), он связывается с идентификатором объекта (OID) XCN_OID_NTDS_REPLICATION (1.3.6.1.4.1.311.25.1) и кодируется как строка октета (массив байтов). OID можно получить, вызвав свойство ObjectId . Чтобы получить закодированный массив байтов, можно вызвать свойство RawData .

Если этот метод используется для указания любого из следующих типов имен, метод возвращает E_INVALIDARG.

Значение Описание
XCN_CERT_ALT_NAME_UNKNOWN Тип имени не идентифицируется.
XCN_CERT_ALT_NAME_RFC822_NAME Имя — это адрес электронной почты.
XCN_CERT_ALT_NAME_DNS_NAME Это DNS-имя.
XCN_CERT_ALT_NAME_URL Имя является URL-адресом.
XCN_CERT_ALT_NAME_REGISTERED_ID Имя является зарегистрированным идентификатором OID.
XCN_CERT_ALT_NAME_USER_PRINCIPLE_NAME Это имя субъекта-пользователя (UPN).
XCN_CERT_ALT_NAME_OTHER_NAME Имя состоит из OID и массива байтов.
 

Метод InitializeFromOtherName можно использовать для указания OID и соответствующей строки имени, а метод InitializeFromString — для указания адреса электронной почты, DNS-имени, URL-адреса, зарегистрированного идентификатора или имени участника-пользователя (UPN).

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header certenroll.h
DLL CertEnroll.dll

См. также раздел

IAlternativeName