证书工具 | CertUtil -verifykeys 如何在内部工作?

CertUtil | How CertUtil -verifykeys works internally?

我在本地计算机证书存储中有一个 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 - 验证 public/private 密钥集。

我只是想知道它是如何验证这些密钥的? 很想知道这个命令的内部工作原理。

它使用已注册的提供商执行签名操作,然后尝试使用证书中存储的 public 密钥验证签名文本。

由于我使用的是自己的自定义提供程序,因此我看到一个签名请求落在我的提供程序上,但没有验证请求。因此我得出结论,它使用注册的提供程序执行签名,但为了验证它使用它自己的提供程序,即微软自己的 cng 提供程序。