View a markdown version of this page

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

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

NCryptCreatePersistedKey 與金鑰儲存提供者 (KSP)

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

Parameters

hProvider 【in】

您將建立金鑰之金鑰儲存提供者的控制代碼。使用 NCryptOpenStorageProvider取得此控制代碼。

phKey 【輸出】

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

pszAlgId 【in】

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

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

常數/值 Description

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】

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

Value 意義

NCRYPT_MACHINE_KEY_FLAG

此旗標沒有效果。

NCRYPT_SILENT_FLAG

此旗標沒有效果。

NCRYPT_OVERWRITE_KEY_FLAG

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

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

傳回值

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

常見的傳回代碼包括:

傳回代碼 Description

ERROR_SUCCESS

函數已成功完成。

NTE_INVALID_PARAMETER

一或多個參數無效。

NTE_FAIL

操作無法完成。

NTE_BAD_FLAGS

dwFlags 參數包含無效的值。

NTE_NOT_SUPPORTED

pszAlgId 參數包含不支援的值。

NTE_EXISTS

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