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 要求に署名する場合、署名されるデータは、CMSSignedData オブジェクトにラップされたDistinguished Encoding Rules (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 オブジェクトは、使用されるハッシュアルゴリズムと公開キー アルゴリズムを識別する 1 つの IX509SignatureInformation オブジェクトに関連付けられます。 このオブジェクトは、 ISignerCertificate オブジェクトが初期化されるときに作成および初期化されます。
継承
ISignerCertificate インターフェイスは、IDispatch インターフェイスから継承されます。 ISignerCertificate には、次の種類のメンバーもあります。
メソッド
ISignerCertificate インターフェイスには、これらのメソッドがあります。
ISignerCertificate::get_Certificate 証明書を含むDistinguished Encoding Rules (DER) でエンコードされたバイト配列を取得します。 |
ISignerCertificate::get_ParentWindow 署名証明書情報の表示に使用するウィンドウの ID を指定または取得します。 (Get) |
ISignerCertificate::get_PrivateKey ISignerCertificate オブジェクトに関連付けられている秘密キーを取得します。 |
ISignerCertificate::get_SignatureInformation 証明書署名に関する情報を含む IX509SignatureInformation オブジェクトを取得します。 |
ISignerCertificate::get_Silent 秘密キーを使用して証明書要求に署名したときにユーザーに通知を受け取るかどうかを示すブール値を指定または取得します。 (Get) |
ISignerCertificate::get_UIContextMessage 署名証明書に関連付けられているユーザー インターフェイス テキストを含む文字列を指定または取得します。 (Get) |
ISignerCertificate::Initialize 署名証明書から オブジェクトを初期化します。 |
ISignerCertificate::p ut_ParentWindow 署名証明書情報の表示に使用するウィンドウの ID を指定または取得します。 (Put) |
ISignerCertificate::p ut_Pin スマート カード ユーザーの認証に使用される個人識別番号 (PIN) を指定します。 |
ISignerCertificate::p ut_Silent 秘密キーを使用して証明書要求に署名したときにユーザーに通知を受け取るかどうかを示すブール値を指定または取得します。 (Put) |
ISignerCertificate::p ut_UIContextMessage 署名証明書に関連付けられているユーザー インターフェイス テキストを含む文字列を指定または取得します。 (Put) |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | certenroll.h |