29.07.2005 12:36:42проверка подписи запроса на сертификат (CryptVerifyCertificateSignature) Ответов: 4
raul
проблема такая что, каким бы я публичным кпючом не проверял подпись запроса
она всегда оказывается верна
скажите пожалуйста в чем мож быть проблема
или я чегото не так делаю
вот код на паскале:
Req1 := TCertRequest.create;
Req1.OpenProvContext(’server’);
Req1.OpenReqFromFile(’C:\test.rqst’);

b := CryptVerifyCertificateSignature(FhProv,
PKCS_7_ASN_ENCODING or X509_ASN_ENCODING,
Req1.FreqEncoded,
Req1.FreqSize,
@Req1.FCertReqInfo.SubjectPublicKeyInfo);
 
Ответы:
29.07.2005 14:08:17Василий
Можно уточнить "она всегда оказывается верна" или "она всегда оказывается НЕ верна"?
29.07.2005 14:44:01raul
она всегда верна
29.07.2005 15:24:58Василий
В вашем примере вы передаёте в качестве указателя на CERT_PUBLIC_KEY_INFO для проверки подписи именно структуру, соответствующую ключу, на котором подписан запрос (т.к. при создании запрос подписывается только что созданным ключом). Если передать ключ не из этого запроса - подпись проверится?
29.07.2005 19:42:32raul
спасибо я уже разобрался с этой (моей)
ошибкой, все отлично проверяется