IX509CertificateRequestPkcs10 接口 (certenroll.h)
IX509CertificateRequestPkcs10 接口表示 PKCS #10 证书请求。 公钥加密标准 (PKCS) #10 定义了发送到认证或注册机构以请求公钥证书的消息的格式。
PKCS #10 ASN.1 请求对象包含版本标识符、使用者名称、公钥和一组属性,如以下语法示例所示。
--------------------------------------------------------------------
-- Certificate request.
--------------------------------------------------------------------
CertificationRequestInfo ::= SEQUENCE
{
version CertificationRequestInfoVersion,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
attributes [0] IMPLICIT Attributes
}
-------------------------------------------------------
-- Version number.
-------------------------------------------------------
CertificationRequestInfoVersion ::= INTEGER
-------------------------------------------------------
-- Subject distinguished name (DN).
-------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type EncodedObjectID,
value ANY
}
-------------------------------------------------------
-- Public key information.
-------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BITSTRING
}
-------------------------------------------------------
-- Attributes.
-------------------------------------------------------
Attributes ::= SET OF Attribute
Attribute ::= SEQUENCE
{
type EncodedObjectID,
values AttributeSetValue
}
CertificationRequestInfo ASN.1 对象包装在 CertificationRequest 对象中,如以下语法所示。 CertificationRequest 对象还包括签名和签名算法。 PKCS #10 请求必须由关联的私钥签名,如果是交叉认证请求,则必须使用 null 签名。 可以调用 RawData 属性来检索签名的 CertificationRequest 对象,也可以调用 RawDataToBeSigned 属性来检索未签名的 CertificationRequestInfo 对象。
--------------------------------------------------------------------
-- Certificate request.
--------------------------------------------------------------------
CertificationRequest ::= SEQUENCE
{
certificationRequestInfo CertificationRequestInfo,
signatureAlgorithm AlgorithmIdentifier,
signature BIT STRING
}
--------------------------------------------
-- Algorithm Identifier
--------------------------------------------
AlgorithmIdentifier ::= SEQUENCE
{
algorithm EncodedObjectID,
parameters ANY OPTIONAL
}
在调用 Encode 方法之前,可以设置以下属性:
- AlternateSignatureAlgorithm
- ClientId
- HashAlgorithm
- ParentWindow
- RenewalCertificate
- Silent
- SuppressDefaults
- UIContextMessage
在调用 Encode 方法之前,必须设置以下属性(如果有):
继承
IX509CertificateRequestPkcs10 接口继承自 IX509CertificateRequest。 IX509CertificateRequestPkcs10 还具有以下类型的成员:
方法
IX509CertificateRequestPkcs10 接口具有这些方法。
IX509CertificateRequestPkcs10::CheckSignature 验证证书请求是否已签名以及签名是否有效。 (IX509CertificateRequestPkcs10.CheckSignature) |
IX509CertificateRequestPkcs10::get_CriticalExtensions 检索标识标记为关键版本 3 证书扩展的 IObjectIds 集合。 (IX509CertificateRequestPkcs10.get_CriticalExtensions) |
IX509CertificateRequestPkcs10::get_CryptAttributes 检索可选证书属性的 ICryptAttributes 集合。 (IX509CertificateRequestPkcs10.get_CryptAttributes) |
IX509CertificateRequestPkcs10::get_CspStatuses 检索与证书请求关联的私钥的预期用途匹配的 ICspStatus 对象的集合。 |
IX509CertificateRequestPkcs10::get_KeyContainerNamePrefix 指定或检索用于为新私钥创建容器名称的前缀。 (获取) |
IX509CertificateRequestPkcs10::get_NullSigned 检索一个布尔值,该值指示证书请求是否为 null 签名。 |
IX509CertificateRequestPkcs10::get_OldCertificate 检索传递给 InitializeFromCertificate 方法的证书。 |
IX509CertificateRequestPkcs10::get_PrivateKey 检索包含用于对证书请求进行签名的私钥的 IX509PrivateKey 对象。 |
IX509CertificateRequestPkcs10::get_PublicKey 检索包含证书请求中包含的公钥的 IX509PublicKey 对象。 |
IX509CertificateRequestPkcs10::get_RawDataToBeSigned 检索由 Encode 方法创建的未签名证书请求。 |
IX509CertificateRequestPkcs10::get_ReuseKey 检索一个布尔值,该值指示是否使用现有私钥对请求进行签名。 |
IX509CertificateRequestPkcs10::get_Signature 检索由 Encode 方法创建的请求签名。 |
IX509CertificateRequestPkcs10::get_SignatureInformation 检索包含证书请求签名相关信息的 IX509SignatureInformation 对象。 |
IX509CertificateRequestPkcs10::get_SmimeCapabilities 指定或检索一个布尔值,该值告知 Encode 方法是否创建标识计算机支持的加密功能的 IX509ExtensionSmimeCapabilities 集合。 (获取) |
IX509CertificateRequestPkcs10::get_Subject 指定或检索请求证书的实体的 X.500 可分辨名称。 (获取) |
IX509CertificateRequestPkcs10::get_SuppressOids 检索默认扩展和属性对象标识符的集合, (编码请求时未添加到请求的 OID) 。 |
IX509CertificateRequestPkcs10::get_TemplateObjectId 检索用于创建证书请求的模板 (OID) 的对象标识符。 (IX509CertificateRequestPkcs10.get_TemplateObjectId) |
IX509CertificateRequestPkcs10::get_X509Extensions 检索证书请求中包含的扩展的集合。 (IX509CertificateRequestPkcs10.get_X509Extensions) |
IX509CertificateRequestPkcs10::GetCspStatuses 检索一个 ICspStatuses 集合,该集合包含与调用方指定的私钥的预期用途一致的所有提供程序/算法对。 |
IX509CertificateRequestPkcs10::InitializeDecode (IX509CertificateRequestPkcs10.InitializeDecode (解码现有已签名或未签名) 的 PKCS |
IX509CertificateRequestPkcs10::InitializeFromCertificate 使用现有证书初始化证书请求。 (IX509CertificateRequestPkcs10.InitializeFromCertificate) |
IX509CertificateRequestPkcs10::InitializeFromPrivateKey 使用 IX509PrivateKey 对象和模板(可选)初始化证书请求。 |
IX509CertificateRequestPkcs10::InitializeFromPublicKey 使用 IX509PublicKey 对象和模板(可选)初始化 null 签名的证书请求。 |
IX509CertificateRequestPkcs10::InitializeFromTemplateName . (IX509CertificateRequestPkcs10.InitializeFromTemplateName) |
IX509CertificateRequestPkcs10::IsSmartCard 检索一个布尔值,该值指示与请求对象关联的任何加密提供程序是否为智能卡提供程序。 |
IX509CertificateRequestPkcs10::p ut_KeyContainerNamePrefix 指定或检索用于为新私钥创建容器名称的前缀。 (放置) |
IX509CertificateRequestPkcs10::p ut_SmimeCapabilities 指定或检索一个布尔值,该值告知 Encode 方法是否创建标识计算机支持的加密功能的 IX509ExtensionSmimeCapabilities 集合。 (放置) |
IX509CertificateRequestPkcs10::p ut_Subject 指定或检索请求证书的实体的 X.500 可分辨名称。 (放置) |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | certenroll.h |