如何知道证书的当前密码是否有效

How to know if current pin code of certificate is valid

我正在使用 Delphi 和 SecureBlackBox 来签署文件。我需要知道所选证书的当前 PIN 有效期(之前输入的 PIN)是否有效,以了解 PIN UI 是否会显示。直接用winapi或者SecureBlackBox可以吗?

解决了我在安全黑盒代码中将 CRYPT_SILENT 标志传递给 CryptAcquireContext 函数的问题。这样,如果 pin 已过期,代码将失败,而不是显示 pin UI.