本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 |
|
|
NTE_NOT_SUPPORTED |
|
|
NTE_EXISTS |
具有指定名稱的金鑰已存在,且操作未使用 |