Интерфейс 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 и включить их в запрос на сертификат следующим образом:
- Инициализируйте любой из следующих объектов IX509Extension :
- IX509ExtensionAlternativeNames
- IX509ExtensionAuthorityKeyIdentifier
- IX509ExtensionBasicConstraints
- IX509ExtensionCertificatePolicies
- IX509ExtensionMSApplicationPolicies
- IX509ExtensionEnhancedKeyUsage
- IX509ExtensionKeyUsage
- IX509ExtensionSmimeCapabilities
- IX509ExtensionSubjectKeyIdentifier
- IX509ExtensionTemplate
- IX509ExtensionTemplateName
- Добавьте объекты расширения в коллекцию IX509Extensions .
- Используйте коллекцию IX509Extensions для инициализации объекта IX509AttributeExtensions .
- Добавьте объект IX509AttributeExtensions в коллекцию IX509Attributes .
- Используйте коллекцию IX509Attributes для инициализации объекта ICryptAttribute .
- Инициализируйте объект запроса CMC или PKCS #10 и получите коллекцию ICryptAttributes .
- Добавьте объект ICryptAttribute в коллекцию ICryptAttributes для запроса.
Наследование
Интерфейс 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 |