检测私钥的存在

时间:2019-06-30 17:52:36

标签: winapi

我正在尝试向用户显示一个对话框以选择证书。最初,我将CryptUIDlgSelectCertificateFromStore与“ MY”存储区结合使用,但这导致选择所有证书,而我只希望用户在 具有私钥的证书。

由于这个原因,我创建了一个新的内存存储区,并且仅存储存在私钥的证书。我可以使用CryptAcquireCertificatePrivateKey获取证书的私钥,但是例如,这可能会导致对话框要求输入PIN。我不想使用CRYPT_ACQUIRE_SILENT_FLAG,因为提供者可能希望在钥匙上显示信息(不一定是密码或智能卡提示)。

是否有一种方法可以知道有一个私钥并未实际获得

谢谢。

0 个答案:

没有答案