NCryptUnprotectSecret 関数 (ncryptprotect.h)
NCryptUnprotectSecret 関数は、指定された保護記述子にデータを復号化します。 NCryptProtectSecret を呼び出してデータを暗号化します。
構文
SECURITY_STATUS NCryptUnprotectSecret(
[out, optional] NCRYPT_DESCRIPTOR_HANDLE *phDescriptor,
[in] DWORD dwFlags,
[in] const BYTE *pbProtectedBlob,
ULONG cbProtectedBlob,
[in, optional] const NCRYPT_ALLOC_PARA *pMemPara,
[in, optional] HWND hWnd,
[out] BYTE **ppbData,
[out] ULONG *pcbData
);
パラメーター
[out, optional] phDescriptor
保護記述子ハンドルへのポインター。
[in] dwFlags
フラグには、次の値の 0 またはビットごとの OR を指定できます。
値 | 意味 |
---|---|
|
キー サービス プロバイダーにユーザー インターフェイスを表示しないことを要求します。 |
|
保護されたデータ BLOB のヘッダーのみをデコードします。 実際の暗号化解除は行われません。 |
[in] pbProtectedBlob
復号化するデータを含むバイト配列へのポインター。
cbProtectedBlob
pbProtectedBlob パラメーターが指す配列内のバイト数。
[in, optional] pMemPara
カスタム メモリ管理機能を指定するために使用できる NCRYPT_ALLOC_PARA 構造体へのポインター。 この引数を NULL に設定すると、 LocalAlloc 関数がメモリを割り当てるために内部的に使用され、アプリケーションは LocalFree を呼び出して ppbData パラメーターが指すメモリを解放する必要があります。
[in, optional] hWnd
表示するユーザー インターフェイスの親ウィンドウ (存在する場合) を処理します。
[out] ppbData
復号化されたデータへのポインターを受け取る変数のアドレス。
[out] pcbData
ppbData 変数が指す復号化されたデータのサイズ (バイト単位) を含む ULONG 変数へのポインター。
戻り値
関数の成功または失敗を示す状態コードを返します。 可能なリターン コードには、次のものが含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
関数は成功しました。 |
|
dwFlags パラメーターには 、NCRYPT_SILENT_FLAG または NCRYPT_UNPROTECT_NO_DECRYPTのみを含めることができます。 |
|
pbProtectedBlob、ppbData、および pcbData の各パラメーターを NULL にすることはできません。
cbData パラメーターを 1 未満にすることはできません。 |
注釈
NCryptUnprotectSecret 関数を使用して、キー、キー マテリアル、パスワードの暗号化を解除します。 大きなメッセージを復号化するには、 NCryptStreamOpenToUnprotect 関数と NCryptStreamUpdate 関数を使用します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ncryptprotect.h |
Library | NCrypt.lib |
[DLL] | NCrypt.dll |