我在本地计算机证书存储中有一个 CA 证书。当我运行此命令时 - enter code here
certutil -verifyKeys
给Key "KEYNAME" verifies as the public key for Certificate "KEYNAME" V0.0
Signature test FAILED
CertUtil: -verifykeys command FAILED: 0x80070057
(WIN32: 87 ERROR_INVALID_PARAMETER)
CertUtil: The parameter is incorrect
MSDN 说certutil -verifykeys
- 验证公钥/私钥集。
我只是想知道它如何验证这些密钥?渴望了解此命令的内部工作。
它使用注册的提供程序执行签名操作,然后尝试使用存储在证书中的公钥验证签名文本。
由于我使用的是自己的自定义提供程序,因此我看到签名请求落在我的提供程序上,但没有验证请求。因此,我得出的结论是,它使用注册的提供程序执行签名,但为了验证,它使用自己的提供程序,即微软自己的 CNG 提供程序。