02.11.2004 13:07:00Ни как не пойму про проверку подписи Ответов: 1
Ivan Rysev
У меня есть созданный из буфера байтов контекст сертификата, содержащий только открытый ключ. Мне надо проверить подписанное на другом компьютере сообщение (точнее хэш (detached)), используя этот контекст. Как мне это сделать? Ведь в функции CryptVerifyDetachedMessageSignature и ей подобных нет такого параметра как контекст сертификата для проверки подписи. В вашем примере, где происходит проверка, написано

/* Программа по заданному сертификату определяет наличие секретного ключа*/
/* и загружает требуемый провайдер.*/

Но секретный ключ для проверки не нужен - у меня его и нет. И я не хочу устанавливать этот сертификат в какое-либо хранилище (или конейнер)...
 
Ответы:
02.11.2004 14:43:09Kirill Sobolev
У функции CryptVerifyDetachedMessageSignature есть параметр структура CRYPT_VERIFY_MESSAGE_PARA. Ее поле -сallback функция PFN_CRYPT_GET_SIGNER_CERTIFICATE, именна она и определяет, какой сертификат будет использоваться для проверки подписи.