Share via


NCryptFinalizeKey 函式 (ncrypt.h)

NCryptFinalizeKey 函式會完成 CNG 金鑰儲存密鑰。 除非呼叫此函式,否則無法使用索引鍵。

語法

SECURITY_STATUS NCryptFinalizeKey(
  [in] NCRYPT_KEY_HANDLE hKey,
  [in] DWORD             dwFlags
);

參數

[in] hKey

要完成之索引鍵的句柄。 呼叫 NCryptCreatePersistedKey 函 式可取得此句柄。

[in] dwFlags

修改函式行為的旗標。 這可以是零或下列一或多個值的組合。

意義
NCRYPT_NO_KEY_VALIDATION
請勿驗證金鑰組的公用部分。 此旗標僅適用於公開/私鑰組。
NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG
同時將金鑰儲存在舊版記憶體中。 這可讓金鑰與 CryptoAPI 搭配使用。 此旗標僅適用於 RSA 金鑰。
NCRYPT_SILENT_FLAG
要求金鑰服務提供者 (KSP) 不會顯示任何使用者介面。 如果提供者必須顯示要運作的UI,呼叫會失敗,KSP應該將 NTE_SILENT_CONTEXT 錯誤碼設定為最後一個錯誤。

傳回值

傳回狀態代碼,指出函式的成功或失敗。

可能的傳回碼包括但不限於下列專案。

傳回碼 Description
ERROR_SUCCESS
函式成功。
NTE_BAD_FLAGS
dwFlags 參數包含無效的值。
NTE_INVALID_HANDLE
hKey 參數無效。

備註

服務不得從它的 StartService 函式呼叫此函式。 如果服務從其 StartService 函式呼叫此函式,可能會發生死結,而且服務可能會停止回應。

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 ncrypt.h
程式庫 Ncrypt.lib
Dll Ncrypt.dll