共用方式為


PFXVerifyPassword 函式 (wincrypt.h)

PFXVerifyPassword 函式會嘗試將 BLOB 的外部層譯碼為個人資訊交換 (PFX) 封包,並使用指定的密碼加以解密。 不會匯入 BLOB 中的數據。

PFX 格式也稱為 Public-Key 密碼編譯標準 #12 (PKCS #12) 格式。

語法

BOOL PFXVerifyPassword(
  [in] CRYPT_DATA_BLOB *pPFX,
  [in] LPCWSTR         szPassword,
  [in] DWORD           dwFlags
);

參數

[in] pPFX

函式將嘗試譯碼為 PFX 封包 之CRYPT_DATA_BLOB 結構的指標。

[in] szPassword

要檢查的字串密碼。 若要讓此函式成功,此密碼必須與用來加密封包的密碼完全相同。

如果您將此值設定為空字串或 NULL,此函式通常會使用空字串或 NULL 嘗試解密內嵌在 PFX BLOB 中的密碼。

不過,從 Windows 8 和 Windows Server 2012 開始,如果在建立 PFX BLOB 時指定 NULL 或空白密碼,且應用程式也指定密碼應該保護至 Active Directory (AD) 主體,則密碼編譯 API (CAPI) 隨機產生密碼、將密碼加密至 AD 主體,並將密碼內嵌在 PFX BLOB 中。 PFXVerifyPassword 函式接著會嘗試使用指定的 AD 主體, (目前的使用者、計算機或 AD 群組成員) 來解密密碼。 如需保護 PFX 至 AD 主體的詳細資訊,請參閱 pvPara 參數和 PFXExportCertStoreEx 函式的 PKCS12_PROTECT_TO_DOMAIN_SIDS 旗標。

當您完成使用密碼時,請呼叫 SecureZeroMemory 函式 ,從記憶體清除密碼。 如需保護密碼的詳細資訊,請參閱 處理密碼

[in] dwFlags

保留供未來使用。

傳回值

如果密碼正確,函式會傳回 TRUE ;否則會傳回 FALSE

規格需求

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