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) プリンシパルに保護する必要も指定された場合、Cryptography API (CAPI) はパスワードをランダムに生成し、AD プリンシパルに暗号化して PFX BLOB に埋め込みます。 その後、PFXVerifyPassword 関数は、指定された AD プリンシパル (現在のユーザー、コンピューター、または AD グループ メンバー) を使用してパスワードの暗号化を解除しようとします。 AD プリンシパルへの PFX の保護の詳細については、pvPara パラメーターと PFXExportCertStoreEx 関数の PKCS12_PROTECT_TO_DOMAIN_SIDS フラグを参照してください。

パスワードの使用が完了したら、 SecureZeroMemory 関数を呼び出して、メモリからパスワードをクリアします。 パスワードの保護の詳細については、「パスワードの 処理」を参照してください。

[in] dwFlags

将来利用するために予約されています。

戻り値

パスワードが正しく表示された場合、関数は TRUE を 返します。それ以外の場合は、 FALSE を返します

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll