IX509CertificateRequestCmc 接口 (certenroll.h)

IX509CertificateRequestCmc 接口表示通过 CMS) 证书请求的 CMC (证书管理消息。 CMC 请求始终由 PKCS #7 证书消息语法包装 (CMS) 对象。 因此, IX509CertificateRequestCmc 接口继承自 IX509CertificateRequestPkcs7 接口。

CMC 请求包含 TaggedAttributeTaggedRequestTaggedContentInfo ASN.1 结构的序列。 不支持 RFC 中标识的 TaggedOtherMsg 结构。


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 请求可以包含 TaggedRequest 序列中的 PKCS #10 请求,也可以包含 TaggedContentInfo 序列中的另一个 CMC 请求对象。 理论上,嵌套级别的可能数目没有限制,但证书颁发机构通常会对请求大小施加物理限制。

TaggedAttribute 序列包含扩展和可选属性。 有关详细信息,请参阅 CMC 扩展CMC 属性

继承

IX509CertificateRequestCmc 接口继承自 IX509CertificateRequestPkcs7IX509CertificateRequestCmc 还具有以下类型的成员:

方法

IX509CertificateRequestCmc 接口包含以下方法。

 
IX509CertificateRequestCmc::get_ArchivePrivateKey

指定或检索一个布尔值,该值指示是否在证书颁发机构 (CA) 存档私钥。 (获取)
IX509CertificateRequestCmc::get_CriticalExtensions

检索标识标记为关键的版本 3 证书扩展的 IObjectIds 集合。 (IX509CertificateRequestCmc.get_CriticalExtensions)
IX509CertificateRequestCmc::get_CryptAttributes

检索可选证书属性的 ICryptAttributes 集合。 (IX509CertificateRequestCmc.get_CryptAttributes)
IX509CertificateRequestCmc::get_EncryptedKeyHash

检索要存档的私钥的哈希。
IX509CertificateRequestCmc::get_EncryptionAlgorithm

指定或检索对象标识符 (OID) 用于加密要存档的私钥的算法。 (获取)
IX509CertificateRequestCmc::get_EncryptionStrength

指定或检索应用于要存档的私钥的相对加密级别。 (获取)
IX509CertificateRequestCmc::get_KeyArchivalCertificate

指定或检索证书颁发机构 (CA) 加密证书。 (获取)
IX509CertificateRequestCmc::get_NameValuePairs

检索与证书请求关联的 IX509NameValuePairs 集合。
IX509CertificateRequestCmc::get_NullSigned

检索一个布尔值,该值指定证书请求上的主要签名是否为 null 签名。
IX509CertificateRequestCmc::get_SenderNonce

指定或检索包含 nonce 的字节数组。 (获取)
IX509CertificateRequestCmc::get_SignatureInformation

检索 IX509SignatureInformation 对象,该对象包含有关用于对证书请求进行签名的主签名的信息。
IX509CertificateRequestCmc::get_SignerCertificates

检索用于对请求进行签名的证书集合。
IX509CertificateRequestCmc::get_SuppressOids

检索扩展或属性对象标识符的集合, (在编码过程中要从证书中禁止显示) OID。
IX509CertificateRequestCmc::get_TemplateObjectId

检索用于创建证书请求的模板 (OID) 的对象标识符。 (IX509CertificateRequestCmc.get_TemplateObjectId)
IX509CertificateRequestCmc::get_TransactionId

指定或检索可用于跟踪证书请求或响应的事务标识符。 (获取)
IX509CertificateRequestCmc::get_X509Extensions

检索证书请求中包含的扩展的集合。 (IX509CertificateRequestCmc.get_X509Extensions)
IX509CertificateRequestCmc::InitializeFromInnerRequestTemplateName

InitializeFromInnerRequestTemplateName 方法从内部请求对象和模板初始化证书请求。
IX509CertificateRequestCmc::p ut_ArchivePrivateKey

指定或检索一个布尔值,该值指示是否在证书颁发机构 (CA) 存档私钥。 (放置)
IX509CertificateRequestCmc::p ut_EncryptionAlgorithm

指定或检索对象标识符 (OID) 用于加密要存档的私钥的算法。 (放置)
IX509CertificateRequestCmc::p ut_EncryptionStrength

指定或检索应用于要存档的私钥的相对加密级别。 (放置)
IX509CertificateRequestCmc::p ut_KeyArchivalCertificate

指定或检索证书颁发机构 (CA) 加密证书。 (放置)
IX509CertificateRequestCmc::p ut_SenderNonce

指定或检索包含 nonce 的字节数组。 (放置)
IX509CertificateRequestCmc::p ut_TransactionId

指定或检索可用于跟踪证书请求或响应的事务标识符。 (放置)

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 certenroll.h

另请参阅

CertEnroll 接口

IX509CertificateRequest

IX509CertificateRequestPkcs7