重要
この API は非推奨です。 Microsoft は、今後のリリースでこの API を削除する可能性があります。
GetCryptProvFromCert 関数は、暗号化サービス プロバイダー (CSP) へのハンドルと、証明書コンテキストのキー仕様を取得します。 この関数を使用して、証明書発行者の 秘密キー にアクセスします。
Note
この関数には、ヘッダー ファイルまたはインポート ライブラリが関連付けされません。 この関数を呼び出すには、ユーザー定義ヘッダー ファイルを作成し、 LoadLibrary 関数と GetProcAddress 関数を使用して、Mssign32.dllに動的にリンクする必要があります。
構文
BOOL WINAPI GetCryptProvFromCert(
_In_ HWND hwnd,
_In_ PCCERT_CONTEXT pCert,
_Out_ HCRYPTPROV *phCryptProv,
_Out_ DWORD *pdwKeySpec,
_In_ BOOL *pfDidCryptAcquire,
_Out_opt_ LPWSTR *ppwszTmpContainer,
_Out_opt_ LPWSTR *ppwszProviderName,
_Out_ DWORD *pdwProviderType
);
パラメーター
-
hwnd [in]
-
表示されるダイアログ ボックスの所有者として使用するウィンドウのハンドル。 このメンバーは現在使用されておらず、無視されます。 このパラメーターには NULL を 渡しても安全です。
-
pCert [in]
-
証明書の CERT_CONTEXT 構造体へのポインター。
-
phCryptProv [out]
-
CSP へのハンドルである HCRYPTPROV 構造体へのポインター。
-
pdwKeySpec [out]
-
取得する秘密キーの指定。 使用可能な値には 、AT_KEYEXCHANGE または AT_SIGNATUREが含まれます。
-
pfDidCryptAcquire [in]
-
関数が証明書に基づいてプロバイダー ハンドルを取得したかどうかを示す 値。
-
ppwszTmpContainer [out, optional]
-
一時キー コンテナー名の null で終わる文字列へのポインターのアドレス。 GetCryptProvFromCert 関数は、一時コンテナーを提供および初期化します。 GetCryptProvFromCert を呼び出すとき、アドレスは NULL 値を指している必要があります。
-
ppwszProviderName [out, optional]
-
プロバイダー名の null で終わる文字列へのポインターのアドレス。 GetCryptProvFromCert 関数はプロバイダー名を返します。 GetCryptProvFromCert を呼び出すとき、アドレスは NULL 値を指している必要があります。
-
pdwProviderType [out]
-
CSP の種類を指定します。 これには、0 または 暗号化プロバイダーの種類のいずれかを指定できます。 このメンバーが 0 の場合、キー コンテナーは CNG キー ストレージ プロバイダーのいずれかです。
戻り値
成功すると、この関数は TRUE を返します。 GetCryptProvFromCert 関数は、失敗した場合に FALSE を返します。
解説
MakeCert ツールは、-is コマンド ライン オプションを使用して GetCryptProvFromCert を呼び出すときに GetCryptProvFromCert を呼び出します。
pfDidCryptAcquire パラメーターが TRUE に設定されている場合、関数は phCryptProv、pdwKeySpec、pdwProviderType パラメーターをプロバイダー値に設定します。
CSP の使用が完了したら、 FreeCryptProvFromCert 関数を呼び出して解放します。
必要条件
| 要件 | 値 |
|---|---|
| サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
| サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
| [DLL] |
|