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


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

Интерфейс IX509CertificateRequestCmc представляет запрос на сертификат CMC (сообщение управления сертификатами через CMS). Запрос CMC всегда упаковывается в объект синтаксиса сообщений сертификата PKCS #7 (CMS). Таким образом, интерфейс IX509CertificateRequestCmc наследуется от интерфейса IX509CertificateRequestPkcs7 .

Запрос CMC содержит последовательности структур TAGgedAttribute, TaggedRequest и TaggedContentInfo ASN.1. Структура TaggedOtherMsg , указанная в RFC, не поддерживается.


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


ControlSequence  ::=    SEQUENCE OF TaggedAttribute
ReqSequence      ::=    SEQUENCE OF TaggedRequest
CmsSequence      ::=    SEQUENCE OF TaggedContentInfo
OtherMsgSequence ::=    SEQUENCE OF TaggedOtherMsg

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

TaggedRequest ::= CHOICE 
{
   tcr                     [0] IMPLICIT TaggedCertificationRequest
}

TaggedContentInfo ::= SEQUENCE 
{
   bodyPartID              BodyPartID,
   contentInfo             ANY
}

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

Запрос CMC может содержать запрос PKCS #10 в последовательности TaggedRequest или другой объект запроса CMC в последовательности TaggedContentInfo . Теоретических ограничений на возможное количество уровней вложенности нет, но центры сертификации обычно физически ограничивают размер запроса.

Последовательность TaggedAttribute содержит расширения и необязательные атрибуты. Дополнительные сведения см. в разделе Расширения и атрибуты CMC.

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

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

Методы

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

 
IX509CertificateRequestCmc::get_ArchivePrivateKey

Указывает или извлекает логическое значение, указывающее, следует ли архивировать закрытый ключ в центре сертификации (ЦС). (Получить)
IX509CertificateRequestCmc::get_CriticalExtensions

Извлекает коллекцию IObjectIds, которая определяет расширения сертификатов версии 3, помеченные как критические. (IX509CertificateRequestCmc.get_CriticalExtensions)
IX509CertificateRequestCmc::get_CryptAttributes

Извлекает коллекцию ICryptAttributes необязательных атрибутов сертификата. (IX509CertificateRequestCmc.get_CryptAttributes)
IX509CertificateRequestCmc::get_EncryptedKeyHash

Извлекает хэш закрытого ключа для архивации.
IX509CertificateRequestCmc::get_EncryptionAlgorithm

Указывает или извлекает идентификатор объекта (OID) алгоритма, используемого для шифрования закрытого ключа для архивирования. (Получить)
IX509CertificateRequestCmc::get_EncryptionStrength

Задает или извлекает относительный уровень шифрования, применяемый к архивированному закрытому ключу. (Получить)
IX509CertificateRequestCmc::get_KeyArchivalCertificate

Указывает или извлекает сертификат шифрования центра сертификации (ЦС). (Получить)
IX509CertificateRequestCmc::get_NameValuePairs

Извлекает коллекцию IX509NameValuePairs, связанную с запросом сертификата.
IX509CertificateRequestCmc::get_NullSigned

Извлекает логическое значение, указывающее, является ли основная подпись в запросе сертификата пустой.
IX509CertificateRequestCmc::get_SenderNonce

Задает или извлекает массив байтов, содержащий nonce. (Получить)
IX509CertificateRequestCmc::get_SignatureInformation

Извлекает объект IX509SignatureInformation, содержащий сведения о основной сигнатуре, используемой для подписи запроса на сертификат.
IX509CertificateRequestCmc::get_SignerCertificates

Извлекает коллекцию сертификатов, используемых для подписания запроса.
IX509CertificateRequestCmc::get_SuppressOids

Извлекает коллекцию идентификаторов объектов расширений или атрибутов, которые должны быть подавлены из сертификата в процессе кодирования.
IX509CertificateRequestCmc::get_TemplateObjectId

Извлекает идентификатор объекта (OID) шаблона, используемого для создания запроса на сертификат. (IX509CertificateRequestCmc.get_TemplateObjectId)
IX509CertificateRequestCmc::get_TransactionId

Указывает или извлекает идентификатор транзакции, который можно использовать для отслеживания запроса или ответа на сертификат. (Получить)
IX509CertificateRequestCmc::get_X509Extensions

Извлекает коллекцию расширений, включенных в запрос сертификата. (IX509CertificateRequestCmc.get_X509Extensions)
IX509CertificateRequestCmc::InitializeFromInnerRequestTemplateName

Метод InitializeFromInnerRequestTemplateName инициализирует запрос сертификата из внутреннего объекта запроса и шаблона.
IX509CertificateRequestCmc::p ut_ArchivePrivateKey

Указывает или извлекает логическое значение, указывающее, следует ли архивировать закрытый ключ в центре сертификации (ЦС). (Put)
IX509CertificateRequestCmc::p ut_EncryptionAlgorithm

Указывает или извлекает идентификатор объекта (OID) алгоритма, используемого для шифрования закрытого ключа для архивирования. (Put)
IX509CertificateRequestCmc::p ut_EncryptionStrength

Задает или извлекает относительный уровень шифрования, применяемый к архивированному закрытому ключу. (Put)
IX509CertificateRequestCmc::p ut_KeyArchivalCertificate

Указывает или извлекает сертификат шифрования центра сертификации (ЦС). (Put)
IX509CertificateRequestCmc::p ut_SenderNonce

Задает или извлекает массив байтов, содержащий nonce. (Put)
IX509CertificateRequestCmc::p ut_TransactionId

Указывает или извлекает идентификатор транзакции, который можно использовать для отслеживания запроса или ответа на сертификат. (Put)

Требования

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

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

Интерфейсы CertEnroll

IX509CertificateRequest

IX509CertificateRequestPkcs7