NCryptCreatePersistedKey 使用金鑰儲存提供者 (KSP) - AWS CloudHSM

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

NCryptCreatePersistedKey 使用金鑰儲存提供者 (KSP)

NCryptCreatePersistedKey 函數會建立新的金鑰,並將其存放在金鑰儲存提供者 () 中KSP。您可以使用 NCryptSetProperty函數在建立後設定其屬性。您必須呼叫 ,NCryptFinalizeKey才能使用 金鑰。

參數

hProvider 【in】

您要建立金鑰的金鑰儲存提供者的控點。使用 NCryptOpenStorageProvider取得此控點。

phKey 【輸出】

存放金鑰控制代碼的NCRYPT_KEY_HANDLE變數地址。

pszAlgId 【in】

Null 終止 Unicode 字串的指標,指定用於建立金鑰的密碼編譯演算法識別符。

AWS CloudHSM 金鑰儲存提供者 (KSP) 支援下列演算法:

常數/值 描述

BCRYPT_RSA_ALGORITHM

"RSA"

RSA 公有金鑰演算法。

BCRYPT_ECDSA_P256_ALGORITHM

"ECDSA_P256"

256 位元基本橢圓曲線數位簽章演算法 (FIPS 186-2)。

BCRYPT_ECDSA_P384_ALGORITHM

"ECDSA_P384"

384 位元主要橢圓曲線數位簽章演算法 (FIPS 186-2)。

BCRYPT_ECDSA_P521_ALGORITHM

"ECDSA_P521"

521 位元主要橢圓曲線數位簽章演算法 (FIPS 186-2)。

pszKeyName 【in,選用】

包含金鑰名稱的 null 終止 Unicode 字串指標。如果此參數為 NULL,則此函數會建立未保留的暫時性金鑰。

dwLegacyKeySpec 【in、未使用】

AWS CloudHSM 金鑰儲存提供者 (KSP) 不會使用此參數。

dwFlags 【in】

用於修改函數行為的旗標。使用下列 0 或多個值:

Value 意義

NCRYPT_MACHINE_KEY_FLAG

此旗標沒有效果。

NCRYPT_SILENT_FLAG

此旗標沒有效果。

NCRYPT_OVERWRITE_KEY_FLAG

指定此旗標會覆寫 中名稱相同的任何現有金鑰HSM。

如果沒有此旗標,函數會傳回 。

傳回值

函數會傳回狀態碼,表示成功或失敗。

常見的傳回碼包括:

傳回代碼 描述

ERROR_SUCCESS

函數已成功完成。

NTE_INVALID_PARAMETER

一或多個參數無效。

NTE_FAIL

操作無法完成。

NTE_BAD_FLAGS

dwFlags 參數包含無效的值。

NTE_NOT_SUPPORTED

pszAlgId 參數包含不支援的值。

NTE_EXISTS

具有指定名稱的金鑰已存在,且操作未使用 NCRYPT_OVERWRITE_KEY_FLAG