CryptCATAdminAcquireContext2 関数 (mscat.h)
CryptCATAdminAcquireContext2 関数は、特定のハッシュ アルゴリズムとハッシュ ポリシーのカタログ管理者コンテキストへのハンドルを取得します。
このハンドルは、後続の次の関数の呼び出しで使用できます。
この関数には、インポート ライブラリが関連付けされません。 LoadLibrary 関数と GetProcAddress 関数を使用して、Wintrust.dll に動的にリンクする必要があります。構文
BOOL CryptCATAdminAcquireContext2(
[out] HCATADMIN *phCatAdmin,
[in, optional] const GUID *pgSubsystem,
[in, optional] PCWSTR pwszHashAlgorithm,
[in, optional] PCCERT_STRONG_SIGN_PARA pStrongHashPolicy,
DWORD dwFlags
);
パラメーター
[out] phCatAdmin
この関数によって割り当てられるカタログ管理者コンテキスト ハンドルへのポインター。 ハンドルの使用が完了したら、 CryptCATAdminReleaseContext 関数を呼び出して閉じます。
[in, optional] pgSubsystem
サブシステムを識別する GUID へのポインター。 DRIVER_ACTION_VERIFYは、オペレーティング システム コンポーネントとサード パーティ製ドライバーのサブシステムを表します。 これは、ほとんどの実装で使用されるサブシステムです。
[in, optional] pwszHashAlgorithm
ハッシュの計算と検証に使用するハッシュ アルゴリズムの名前を指定する、null で終わるオプションの Unicode 文字列。 この値は NULL にすることができます。 NULL の場合、pStrongHashPolicy パラメーターに設定した値に応じて、既定のハッシュ アルゴリズムが選択される場合があります。 Windows 8 の既定のアルゴリズムは SHA1 です。 今後の Windows バージョンでは、既定値が変更される可能性があります。 詳細については、「解説」を参照してください。
[in, optional] pStrongHashPolicy
厳密な署名のチェックに使用されるパラメーターを含むCERT_STRONG_SIGN_PARA構造体へのポインター。 関数は、指定されたポリシーと pwszHashAlgorithm パラメーターまたはシステムの既定のアルゴリズム (アルゴリズムが指定されていない場合) で指定されたアルゴリズムを満たす最も低い共通ハッシュ アルゴリズムを選択します。
dwFlags
予約済み。 必ずゼロを指定します。
戻り値
関数が成功した場合、戻り値は 0 以外 (TRUE) になります。
関数が失敗した場合、戻り値は 0 (FALSE) になります。 拡張エラー情報については、 GetLastError を呼び出します。
次の表に、 GetLastError 関数によって最も一般的に返されるエラー コードを示します。
リターン コード | 説明 |
---|---|
|
phCatAdmin パラメーターを NULL にすることはできません。
dwFlags パラメーターは 0 である必要があります。 |
|
新しいカタログ管理者オブジェクトを作成するためのメモリが不足していました。 |
|
pwszHashAlgorithm パラメーターで指定されたハッシュ アルゴリズムが見つかりません。 |
解説
この関数を使用すると、カタログ管理者コンテキストを必要とする関数で使用するハッシュ アルゴリズムを選択または選択できます。 ハッシュ アルゴリズムの名前は設定できますが、関数でアルゴリズムを決定することをお勧めします。 これにより、将来信頼できなくなる可能性のあるハード コーディング アルゴリズムからアプリケーションが保護されます。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mscat.h |
Library | Wintrust.lib |
[DLL] | Wintrust.dll |