GetCryptProvFromCert 関数

重要

この 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 に設定されている場合、関数は phCryptProvpdwKeySpecpdwProviderType パラメーターをプロバイダー値に設定します。

CSP の使用が完了したら、 FreeCryptProvFromCert 関数を呼び出して解放します。

必要条件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
[DLL]
Mssign32.dll