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 方法之前,可以設定下列屬性:

此外,在呼叫初始化方法之前,通常會呼叫 SilentParentWindowUIContextMessage 屬性。

在呼叫 Encode 方法之前,必須先設定下列屬性:

繼承

IX509CertificateRequestPkcs10 介面繼承自 IX509CertificateRequestIX509CertificateRequestPkcs10 也有下列類型的成員:

方法

IX509CertificateRequestPkcs10 介面具有這些方法。

 
IX509CertificateRequestPkcs10::CheckSignature

確認憑證要求已簽署,且簽章有效。 (IX509CertificateRequestPkcs10.CheckSignature)
IX509CertificateRequestPkcs10::get_CriticalExtensions

擷取 IObjectIds 集合,識別標示為重大的第 3 版憑證延伸模組。 (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

譯碼現有的已簽署或未簽署 PKCS (IX509CertificateRequestPkcs10.InitializeDecode)
IX509CertificateRequestPkcs10::InitializeFromCertificate

使用現有的憑證初始化憑證要求。 (IX509CertificateRequestPkcs10.InitializeFromCertificate)
IX509CertificateRequestPkcs10::InitializeFromPrivateKey

使用IX509PrivateKey 物件初始化憑證要求,並選擇性地初始化範本。
IX509CertificateRequestPkcs10::InitializeFromPublicKey

使用IX509PublicKey 對象和選擇性地範本,初始化 Null 簽署的憑證要求。
IX509CertificateRequestPkcs10::InitializeFromTemplateName

. (IX509CertificateRequestPkcs10.InitializeFromTemplateName)
IX509CertificateRequestPkcs10::IsSmartCard

擷取布爾值,指出與要求對象相關聯的任何密碼編譯提供者是否為智慧卡提供者。
IX509CertificateRequestPkcs10::p ut_KeyContainerNamePrefix

指定或擷取用來建立新私鑰容器名稱的前置詞。 (Put)
IX509CertificateRequestPkcs10::p ut_SmimeCapabilities

指定或擷取布爾值,告知 Encode 方法是否要建立 IX509ExtensionSmimeCapabilities 集合,以識別計算機支援的加密功能。 (Put)
IX509CertificateRequestPkcs10::p ut_Subject

指定或擷取要求憑證之實體的 X.500 辨別名稱。 (Put)

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 certenroll.h

另請參閱

CertEnroll 介面

IX509CertificateRequest