![CertUtil | CertUtil -verifykeys 内部如何工作?](https://linux22.com/image/1558714/CertUtil%20%7C%20CertUtil%20-verifykeys%20%E5%86%85%E9%83%A8%E5%A6%82%E4%BD%95%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
我在本地计算机证书存储中有一个 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
-验证公钥/私钥集。
我只是想知道它如何验证这些密钥?迫切想知道这个命令的内部工作原理。
答案1
它使用注册的提供程序执行签名操作,然后尝试使用证书中存储的公钥验证签名的文本。
由于我使用的是自己的自定义提供商,因此我看到我的提供商收到了签名请求,但没有收到验证请求。因此我得出结论,它使用注册的提供商执行签名,但对于验证,它使用自己的提供商,即微软自己的 CNG 提供商。