У меня есть сертификат 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 от Microsoft.
Stackoverflow предназначен для вопросы по программированию. Вопросы о компьютерное оборудование и программное обеспечение общего назначения не относятся к теме Stack Overflow, если они напрямую не связаны с инструментами, используемыми в основном для программирования. Возможно, вам удастся получить помощь по Суперпользователь.