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


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

Интерфейс IX509AttributeExtensions определяет методы и свойства, которые инициализируют и извлекают расширения сертификата в запросе на сертификат. Например, структура CertificateRequestInfo запроса PKCS #10 не содержит поля для расширений версии 3. Вместо этого расширения необходимо добавить в коллекцию атрибутов в запросе.


CertificationRequestInfo ::= SEQUENCE 
{
   version       INTEGER { v1(0) } (v1,...),
   subject       Name,
   subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
   attributes    [0] Attributes{{ CRIAttributes }}
}

Кроме того, расширения включаются в запрос CMC, добавляя их в структуру TaggedAttributes , показанную в следующем примере синтаксиса абстрактной синтаксической нотации 1 (ASN.1). Дополнительные сведения см. в разделе Атрибуты и расширения.


CmcData ::= SEQUENCE 
{
   controlSequence         ControlSequence,
   reqSequence             ReqSequence,
   cmsSequence             CmsSequence,
   otherMsgSequence        OtherMsgSequence
}


ControlSequence  ::=    SEQUENCE OF TaggedAttribute

TaggedAttribute ::= SEQUENCE 
{
   bodyPartID              BodyPartID,
   type                    EncodedObjectID,
   values                  AttributeSetValue
}

BodyPartID ::= INTEGER (0..4294967295)
EncodedObjectID ::= OBJECT IDENTIFIER
AttributeSetValue ::= SET OF ANY

Вы можете создать одно или несколько расширений версии 3 и включить их в запрос на сертификат следующим образом:

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

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

Методы

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

 
IX509AttributeExtensions::get_X509Extensions

Извлекает расширения сертификата.
IX509AttributeExtensions::InitializeDecode

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

Инициализирует объект из коллекции IX509Extensions.

Требования

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

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

Интерфейсы CertEnroll

IX509Attribute

IX509Attributes