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 オブジェクトにラップされた cmcData オブジェクト識別エンコード規則 (DER) でエンコードされたオブジェクトで構成されます。 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 証明書を含む識別エンコード規則 (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 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | certenroll.h |
関連項目
IDispatch の
ISignerCertificates の