19.04.2005 12:38:54CryptSignMessage и HashAlgorithm.pszObjId Ответов: 1
alexp
Почитав этот форум, нашел, что для сертификатов CryptoPro надо задавать HashAlgorithm.pszObjId=szOID_CP_GOST_R3411 а для RSA - HashAlgorithm.pszObjId=szOID_RSA_MD5 и общего способа узнать HashAlgorithm по сертификату как бы нет. Возникает вопрос, а как же тогда к примеру Outlook, не зная про существование szOID_CP_GOST_R3411 правильно подписывает сообщения сертификатами CryptoPro?
Попробовал я написать SigParams.HashAlgorithm.pszObjId = pSignerCert->pCertInfo->SignatureAlgorithm.pszObjId; и как ни странно это сработало и с сертификатом RSA и с сертификатом CryptoPro. Вопрос: где я таки наступлю на грабли, если так сделаю ?
 
Ответы:
19.04.2005 19:10:57Седов Роман Александрович
В двух словах: приложение, зная алгоритм ключа, указанный в сертификате, ищет подходящий для него алгоритм хеширования так, чтобы в системе был криптопровайдер, способный подписать данные испульзуя эти два алгоритма.
Этот провайдер, собственно, и вызывается.