共用方式為


NCryptSecretAgreement 函式 (ncrypt.h)

NCryptSecretAgreement 函式會從私用和公鑰建立秘密協定值。

語法

SECURITY_STATUS NCryptSecretAgreement(
  [in]  NCRYPT_KEY_HANDLE    hPrivKey,
  [in]  NCRYPT_KEY_HANDLE    hPubKey,
  [out] NCRYPT_SECRET_HANDLE *phAgreedSecret,
  [in]  DWORD                dwFlags
);

參數

[in] hPrivKey

用來建立秘密合約值的 私鑰 句柄。 此金鑰和 hPubKey 金鑰必須來自相同的金鑰儲存提供者。

[in] hPubKey

用來建立秘密合約值的 公鑰 句柄。 此金鑰和 hPrivKey 金鑰必須來自相同的金鑰儲存提供者。

[out] phAgreedSecret

接收代表秘密合約值的句柄 之NCRYPT_SECRET_HANDLE 變數的指標。 當不再需要此句柄時,請將它傳遞至 NCryptFreeObject 函式來釋放它。

[in] dwFlags

修改函式行為的旗標。 這可以是零或下列一或多個值的組合。 有效的旗標集專屬於每個金鑰儲存提供者。 下列旗標適用於所有提供者。

意義
NCRYPT_SILENT_FLAG
要求金鑰服務提供者 (KSP) 不會顯示任何使用者介面。 如果提供者必須顯示要運作的UI,呼叫會失敗,KSP應該將 NTE_SILENT_CONTEXT 錯誤碼設定為最後一個錯誤。

傳回值

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

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

傳回碼 Description
ERROR_SUCCESS
函式成功。
NTE_INVALID_HANDLE
hPrivKeyhPubKey 參數無效。
NTE_INVALID_PARAMETER
一或多個參數無效。
NTE_NO_MEMORY
發生記憶體配置失敗。

備註

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

規格需求

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

另請參閱

NCryptFreeObject