iSignerCertificate 介面 (certenroll.h)
ISignerCertificate 介面代表可讓您簽署憑證要求的簽署憑證。 當您初始化 介面時,憑證註冊控制會從個人存放區擷取簽署憑證,並使用它來尋找相關聯的 私鑰。 您可以使用私鑰來簽署 PKCS #7 或 CMC 要求,但不能簽署 PKCS #10 要求。 必須使用與要求中包含的 公鑰 相關聯的私鑰來簽署 PKCS #10 要求。 使用與要求相關聯的私鑰或與簽署憑證相關聯的私鑰,即可簽署自我簽署憑證。 下表摘要說明。
要求類型 (介面) | 簽署憑證 |
---|---|
PKCS #7 (IX509CertificateRequestPkcs7) | 1 |
PKCS #10 (IX509CertificateRequestPkcs10) | 0 |
CMC (IX509CertificateRequestCmc) | 0 或更多 |
自我簽署 (IX509CertificateRequestCertificate) | 0 或 1 |
簽署 CMC 要求時,要簽署的數據是由包裝在 CMS SignedData 物件中的 可辨別編碼規則 (DER) 編碼的 CmcData 物件所組成。 SignerInfo 物件的 encryptedDigest 字段包含簽章,而且多個 SignerInfo 物件可以與要求相關聯。
---------------------------------------------------------------------
-- CMC request data
---------------------------------------------------------------------
CmcData ::= SEQUENCE
{
controlSequence SEQUENCE OF TaggedAttribute,
reqSequence SEQUENCE OF TaggedRequest,
cmsSequence SEQUENCE OF TaggedContentInfo,
otherMsgSequence SEQUENCE OF TaggedOtherMs
}
---------------------------------------------------------------------
-- SignedData object that wraps the CMC request
---------------------------------------------------------------------
SignedData ::= SEQUENCE
{
version INTEGER,
digestAlgorithms DigestAlgorithmIdentifiers,
contentInfo ContentInfo,
certificates [0] IMPLICIT Certificates OPTIONAL,
crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
signerInfos SignerInfos
}
DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
DigestAlgorithmIdentifiersNC ::= SET OF DigestAlgorithmIdentifierNC
SignerInfos ::= SET OF SignerInfo
SignerInfo ::= SEQUENCE
{
version INTEGER,
sid CertIdentifier,
digestAlgorithm DigestAlgorithmIdentifier,
authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
digestEncryptionAlgorithm DigestEncryptionAlgId,
encryptedDigest EncryptedDigest,
unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
}
每個 ISignerCertificate 對象都會與一個 IX509SignatureInformation 對象相關聯,以識別所使用的哈希和公鑰演演算法。 當 ISignerCertificate 物件初始化時,會建立並初始化這個物件。
繼承
ISignerCertificate 介面繼承自 IDispatch 介面。 ISignerCertificate 也有下列類型的成員:
方法
ISignerCertificate 介面具有這些方法。
ISignerCertificate::get_Certificate 擷取 可辨別編碼規則 (DER) 包含憑證的編碼位元組數位陣列。 |
ISignerCertificate::get_ParentWindow 指定或擷取用來顯示簽署憑證資訊的視窗標識碼。 (取得) |
ISignerCertificate::get_PrivateKey 擷取與 ISignerCertificate 對象相關聯的私鑰。 |
ISignerCertificate::get_SignatureInformation 擷取包含憑證簽章相關信息的IX509SignatureInformation 物件。 |
ISignerCertificate::get_Silent 指定或擷取布爾值,指出是否在私鑰用來簽署憑證要求時通知使用者。 (取得) |
ISignerCertificate::get_UIContextMessage 指定或擷取包含與簽署憑證相關聯之使用者介面文字的字串。 (取得) |
ISignerCertificate::Initialize 從簽署憑證初始化物件。 |
ISignerCertificate::p ut_ParentWindow 指定或擷取用來顯示簽署憑證資訊的視窗標識碼。 (Put) |
ISignerCertificate::p ut_Pin 指定用來驗證智慧卡用戶的個人標識碼 (PIN) 。 |
ISignerCertificate::p ut_Silent 指定或擷取布爾值,指出是否在私鑰用來簽署憑證要求時通知使用者。 (Put) |
ISignerCertificate::p ut_UIContextMessage 指定或擷取包含與簽署憑證相關聯之使用者介面文字的字串。 (Put) |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | certenroll.h |