CryptXmlSign 関数 (cryptxml.h)
CryptXmlSign 関数は、SignedInfo 要素の暗号化署名を作成します。
構文
HRESULT CryptXmlSign(
[in] HCRYPTXML hSignature,
[in, optional] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hKey,
DWORD dwKeySpec,
DWORD dwFlags,
CRYPT_XML_KEYINFO_SPEC dwKeyInfoSpec,
[in, optional] const void *pvKeyInfoSpec,
[in] const CRYPT_XML_ALGORITHM *pSignatureMethod,
[in] const CRYPT_XML_ALGORITHM *pCanonicalization
);
パラメーター
[in] hSignature
CRYPT_XML_SIGNATURE構造体へのハンドル。
[in, optional] hKey
SignedInfo 要素の署名に使用される秘密キーのハンドル。 HMAC ベースの署名アルゴリズムの場合、このパラメーターは NULL である必要があります。
dwKeySpec
キーの種類を指定する DWORD 値。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
キー ペアはキー交換ペアです。 |
|
キーペアは署名ペアです。 |
|
キーは Cryptography API: Next Generation (CNG) キーです。 |
dwFlags
データの署名方法を制御する DWORD 値。 このパラメーターには、次の値のいずれかを指定できます。
dwKeyInfoSpec
pvKeyInfoSpec パラメーターによって指されるデータ構造の型。 可能な組み合わせをいくつか次に示します。
dwKeyInfec | pvKeyInfoSpec |
---|---|
CRYPT_XML_KEYINFO_SPEC_NONE | NULL に設定されています |
CRYPT_XML_KEYINFO_SPEC_ENCODED | CRYPT_XML_BLOB構造体を指す |
CRYPT_XML_KEYINFO_SPEC_PARAM | CRYPT_XML_KEYINFO_PARAM構造体を指す |
[in, optional] pvKeyInfoSpec
構造体へのポインター。型は dwKeyInfoSpec パラメーターの値によって決まります。
[in] pSignatureMethod
シグネチャ メソッドを指定 するCRYPT_XML_ALGORITHM 構造体へのポインター。
[in] pCanonicalization
正規化メソッドを指定する CRYPT_XML_ALGORITHM 構造体へのポインター。
戻り値
関数が成功した場合、関数は 0 を返します。
関数が失敗した場合は、エラーを示す HRESULT 値を返します。
解説
証明書が見つからない場合、CryptXmlSign は証明書を選択するための UI を作成します。 このウィンドウが セッション 0 で実行されているプロセスから生成された場合、アプリケーションが予期せず終了する可能性があります。
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | cryptxml.h |
Library | Cryptxml.lib |
[DLL] | Cryptxml.dll |