我在本地计算机证书存储中有一个 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 提供商。