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


Расширения CMC

Расширения включены в запрос CMC, добавив их в структуру TaggedAttributes, показанную в следующем примере синтаксиса 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

Каждая структура в TaggedAttributes содержит целочисленный идентификатор, идентификатор объекта ASN.1 (OID) и набор значений. Расширения включаются в запрос путем добавления структуры CmcAddExtensions в поле значений. Синтаксис структуры ASN.1 показан в следующем примере. Идентификатор объекта XCN_OID_CMC_ADD_EXTENSIONS (1.3.6.1.5.5.7.7.8).

CmcAddExtensions ::= SEQUENCE 
{
   pkiDataReference        BodyPartID,
   certReferences          BodyPartIDSequence,
   extensions              Extensions
}

Extensions ::= SEQUENCE OF Extension

Extension ::= SEQUENCE 
{
   extnId              EncodedObjectID,
   critical            BOOLEAN DEFAULT FALSE,
   extnValue           OCTETSTRING
}

В следующей процедуре описывается использование API регистрации сертификатов для добавления расширений в запрос сертификата CMC.

Использование API регистрации сертификатов для добавления расширений в запрос сертификата CMC

  1. Создайте расширение с помощью любого из доступных интерфейсов, производных от интерфейсаIX509Extension, или используйте объект IX509Extens ion напрямую для создания пользовательских расширений.
  2. Вызовите свойство X509Extensions в объекте IX509CertificateRequestCmc, чтобы получить коллекцию IX509Extensions.
  3. Добавьте расширения, созданные на шаге 1, в коллекцию IX509Extensions.
  4. Вызов регистрации для автоматического выполнения следующих действий:
    • Получение объектаICryptAttributes из объекта IX509CertificateRequestCmc.
    • Создание и инициализация объектаIX509AttributeExtensions с помощью коллекции IX509Extensions, полученной на шаге 2.
    • Создайте коллекциюIX509Attributes и добавьте в него объект IX509AttributeExtens ions.
    • Используйте коллекциюIX509Attributesдля инициализации объектаICryptAttribute.
    • Добавьте объектICryptAttribute в коллекциюICryptAttributes.

атрибутов

архитектуры атрибутов

атрибуты CMC

расширений