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


Интерфейс IX509ExtensionAuthorityKeyIdentifier (certenroll.h)

Интерфейс IX509ExtensionAuthorityKeyIdentifier позволяет указать расширение AuthorityKeyIdentifier . Если центр сертификации (ЦС) имеет несколько сертификатов для подписи, это расширение можно использовать для определения того, какой сертификат центра сертификации использовался для подписания выданного сертификата. Расширение размещается во всех сертификатах, отличных от корневого. Он имеет следующий синтаксис asn.1( абстрактная синтаксическая нотация 1). Значение расширения кодируется с помощью Distinguished Encoding Rules (DER) и включается в запрос сертификата.


----------------------------------------------------------------------
-- AuthorityKeyIdentifier 
-- XCN_OID_AUTHORITY_KEY_IDENTIFIER2 (2.5.29.35)
----------------------------------------------------------------------

AuthorityKeyId2 ::= SEQUENCE 
{
   keyIdentifier             [0] IMPLICIT KeyIdentifier OPTIONAL,
   authorityCertIssuer       [1] IMPLICIT GeneralNames OPTIONAL,
   authorityCertSerialNumber [2] IMPLICIT CertificateSerialNumber OPTIONAL
} 

KeyIdentifier ::= OCTETSTRING

Поведение запроса сертификата по умолчанию заключается в заполнении только поля keyIdentifier . Обычно это значение является 20-байтным хэшом SHA-1 открытого ключа , содержащегося в сертификате подписи ЦС. Когда ЦС выдает сертификат, он копирует хэш-значение в расширение SubjectKeyIdentifier выданного сертификата. Программное обеспечение создания цепочки выполняет поиск доступных сертификатов ЦС, пока не соответствует значению расширения SubjectKeyIdentifier в выданном сертификате с полем keyIdentifier в расширении AuthorityKeyIdentifier в сертификате ЦС. Дополнительные сведения о расширении SubjectKeyIdentifier см. в разделе IX509ExtensionSubjectKeyIdentifier.

Чтобы добавить этот объект расширения в запрос PKCS #10 или запрос CMC, необходимо сначала добавить его в коллекцию IX509Extensions и использовать коллекцию для инициализации объекта IX509AttributeExtensions . Дополнительные сведения см. в разделах Расширения PKCS #10 и Расширения CMC .

Наследование

Интерфейс IX509ExtensionAuthorityKeyIdentifier наследуется от IX509Extension. IX509ExtensionAuthorityKeyIdentifier также имеет следующие типы элементов:

Методы

Интерфейс IX509ExtensionAuthorityKeyIdentifier содержит следующие методы.

 
IX509ExtensionAuthorityKeyIdentifier::get_AuthorityKeyIdentifier

Извлекает массив байтов, содержащий значение расширения. (IX509ExtensionAuthorityKeyIdentifier.get_AuthorityKeyIdentifier)
IX509ExtensionAuthorityKeyIdentifier::InitializeDecode

Инициализирует расширение из массива байтов Distinguished Encoding Rules (DER), содержащего значение расширения. (IX509ExtensionAuthorityKeyIdentifier.InitializeDecode)
IX509ExtensionAuthorityKeyIdentifier::InitializeEncode

Инициализирует расширение из массива байтов.

Требования

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

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

API регистрации сертификатов

Расширения

IX509Extension

IX509ExtensionSubjectKeyIdentifier