NCryptTranslateHandle 関数 (ncrypt.h)
NCryptTranslateHandle 関数は、CryptoAPI ハンドルを CNG キー ハンドルに変換します。
構文
SECURITY_STATUS NCryptTranslateHandle(
[out, optional] NCRYPT_PROV_HANDLE *phProvider,
[out] NCRYPT_KEY_HANDLE *phKey,
[in] HCRYPTPROV hLegacyProv,
[in, optional] HCRYPTKEY hLegacyKey,
[in, optional] DWORD dwLegacyKeySpec,
[in] DWORD dwFlags
);
パラメーター
[out, optional] phProvider
phKeyパラメーターに配置された CNG キーを所有する CNG キー ストレージ プロバイダーのハンドルを受け取るNCRYPT_PROV_HANDLE変数へのポインター。 このハンドルが必要ない場合、このパラメーターは NULL にすることができます。
[out] phKey
CNG キー ハンドルを受け取る NCRYPT_KEY_HANDLE 変数へのポインター。
[in] hLegacyProv
変換するキーを含む CryptoAPI プロバイダーのハンドル。 この関数は、このプロバイダーのコンテナーにある CryptoAPI キーを変換します。
[in, optional] hLegacyKey
返されるキーのキー仕様を決定するために使用する CryptoAPI キーのハンドル。 dwLegacyKeySpec パラメーターに 0 以外の値が含まれている場合、このパラメーターは無視されます。
hLegacyKey が NULL で、dwLegacyKeySpec が 0 の場合、この関数は hLegacyProv ハンドルからキーの指定を決定しようとします。
[in, optional] dwLegacyKeySpec
キーのキー指定を指定します。 これには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
キーは以下のどの型でもありません。 |
|
キーはキー交換キーです。 |
|
キーは署名キーです。 |
hLegacyKey が NULL で、dwLegacyKeySpec が 0 の場合、この関数は hLegacyProv ハンドルからキーの指定を決定しようとします。
[in] dwFlags
この関数の動作を変更するフラグのセット。 この関数にはフラグは定義されていません。
戻り値
関数の成功または失敗を示す状態コードを返します。
可能なリターン コードには、次のものが含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
関数は成功しました。 |
|
dwFlags パラメーターに無効な値が含まれています。 |
|
1 つ以上のパラメーターが無効です。 |
|
メモリ割り当てエラーが発生しました。 |
注釈
これは、現在 CryptoAPI を使用して CNG を使用して正常に移行するアプリケーションとシステム コンポーネントを支援することを目的としたヘルパー関数です。
この関数は、CNG キー ストレージ プロバイダーが、hLegacyProv パラメーターによって参照される暗号化サービス プロバイダー (CSP) の名前と同じ名前またはエイリアスで登録されている場合にのみ成功します。
この関数は、次の手順を実行して、CSP ハンドルを CNG キー ハンドルに変換します。
- hLegacyProv ハンドルから CSP の名前を取得します。
- CSP 名と同じ名前またはエイリアスを持つ CNG プロバイダーを開きます。
- CSP の現在のキー コンテナーの名前を取得します。
- CryptoAPI キーを取得し、CNG キーに変換し、 phKey パラメーターで返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ncrypt.h |
Library | Ncrypt.lib |
[DLL] | Ncrypt.dll |