キーストレージプロバイダー (KSP) を使用した NCryptGetProperty - AWS CloudHSM

キーストレージプロバイダー (KSP) を使用した NCryptGetProperty

NCryptGetProperty 関数は、キーストレージオブジェクトのプロパティ値を取得します。

パラメータ

hObject [in]

プロパティを取得する対象のオブジェクトのハンドル。次を使用できます。

  • プロバイダーハンドル (NCRYPT_PROV_HANDLE)

  • キーハンドル (NCRYPT_KEY_HANDLE)

pszProperty [in]

取得するプロパティ名を含む null 終端 Unicode 文字列へのポインタ。

NCRYPT_PROV_HANDLE を使用する場合、AWS CloudHSM キーストレージプロバイダー (KSP) は次の KSP 識別子をサポートします。

識別子/値 説明

NCRYPT_IMPL_TYPE_PROPERTY

L"Impl Type"

プロバイダーの実装の詳細を定義するフラグを含む DWORD

NCRYPT_MAX_NAME_LENGTH_PROPERTY

L"Max Name Length"

永続キー名の最大長 (文字数) を含む DWORD。

NCRYPT_NAME_PROPERTY

L"Name"

KSP 名を含む、null 終端された Unicode 文字列へのポインタ。

NCRYPT_VERSION_PROPERTY

L"Version"

プロバイダーのバージョンを含む DWORD (上位ワード: メジャーバージョン、下位ワード: マイナーバージョン)。

NCRYPT_USE_CONTEXT_PROPERTY

L"Use Context"

オペレーションコンテキストを示す、null 終端された Unicode 文字列へのポインタ。

NCRYPT_SECURITY_DESCR_SUPPORT_PROPERTY

L"Security Descr Support"

プロバイダーがキーに対するセキュリティ記述子をサポートしているかどうかを示します。

NCRYPT_KEY_HANDLE を使用する場合、AWS CloudHSM キーストレージプロバイダー (KSP) は次の KSP 識別子をサポートします。

識別子/値 説明

NCRYPT_ALGORITHM_PROPERTY

L"Algorithm Name"

キーのアルゴリズム名を含む、null 終端された Unicode 文字列。

NCRYPT_BLOCK_LENGTH_PROPERTY

L"Block Length"

暗号化ブロック長 (バイト単位) を含む DWORD。

NCRYPT_EXPORT_POLICY_PROPERTY

L"Export Policy"

永続化されたキーのエクスポートポリシーを指定するフラグを含む DWORD。

NCRYPT_KEY_USAGE_PROPERTY

L"Key Usage"

キー使用に関する詳細を定義するフラグを含む DWORD。

NCRYPT_KEY_TYPE_PROPERTY

L"Key Type"

キータイプを定義するフラグを含む DWORD。

NCRYPT_LENGTH_PROPERTY

L"Length"

キー長 (ビット数) を含む DWORD。

NCRYPT_LENGTHS_PROPERTY

L"Lengths"

サポートされているキーサイズを含む NCRYPT_SUPPORTED_LENGTHS 構造体へのポインタ。

NCRYPT_NAME_PROPERTY

L"Name"

キー名を含む、null 終端された Unicode 文字列へのポインタ。

NCRYPT_SECURITY_DESCR_PROPERTY

L"Security Descr"

キーのアクセス制御情報を含む SECURITY_DESCRIPTOR 構造体へのポインタ。

NCRYPT_ALGORITHM_GROUP_PROPERTY

L"Algorithm Group"

オブザーバーのアルゴリズムグループ名を含む、null 終端された Unicode 文字列。

NCRYPT_UNIQUE_NAME_PROPERTY

L"Unique Name"

キーの一意名を含む、null 終端された Unicode 文字列へのポインタ。

注記

値は、リテラルの前に L が付いていることからわかるように、ワイド文字列リテラルです。

pbOutput [out]

プロパティ値を保存するバッファのアドレス。cbOutput を使用してバッファサイズを指定します。

必要なバッファサイズを決定するには、このパラメータを NULL に設定します。この関数は、必要なサイズ (バイト単位) を pcbResult が指す場所に保存します。

cbOutput [in]

pbOutput バッファのサイズ (バイト単位)。

pcbResult [out]

pbOutput バッファにコピーされたバイト数を保存する DWORD 変数へのポインタ。

pbOutput が NULL の場合、必要なサイズ (バイト単位) が保存されます。

dwFlags [in]

関数の動作を変更するためのフラグ。ゼロまたは以下の値を使用できます。

意味

NCRYPT_SILENT_FLAG

このフラグは効果がありません。

pszProperty が NCRYPT_SECURITY_DESCR_PROPERTY の場合、次のいずれかまたは組み合わせを使用します。

意味

OWNER_SECURITY_INFORMATION

このフラグは効果がありません。

GROUP_SECURITY_INFORMATION

このフラグは効果がありません。

DACL_SECURITY_INFORMATION

このフラグは効果がありません。

LABEL_SECURITY_INFORMATION

このフラグは効果がありません。

SACL_SECURITY_INFORMATION

このフラグは効果がありません。

戻り値

この関数は、成功または失敗を示すステータスコードを返します。

一般的なリターンコードは次のとおりです。

リターンコード 説明

ERROR_SUCCESS

オペレーションが正常に完了しました。

NTE_INVALID_PARAMETER

1 つ以上のパラメータが無効です。

NTE_FAIL

オペレーションを完了できませんでした。

NTE_BAD_FLAGS

dwFlags パラメータに無効な値が含まれています。

NTE_NOT_SUPPORTED

pszAlgId パラメータには、サポートされていない値が含まれています。

NTE_INVALID_HANDLE

hObject のハンドルが無効です。

NTE_BUFFER_TOO_SMALL

cbOutput パラメータが、戻り値を格納するには小さすぎます。