20.02.2006 18:28:16алгоритм хеширования и сертификат Ответов: 1
ian
Здравствуйте!
Подскажите, каким образом "вытащить" алгоритм хеширования (надеюсь, что возможно) из сертификата? То есть, не зная алгоритм хеширования, и имея сертификат, нужно им осуществить подпись(при вызове CryptCreateHash() нужно указывать ALG_ID). И что значит поле SignatureAlgorithm в структуре CERT_INFO
(выдержка из документации)
...
SignatureAlgorithm
A CRYPT_ALGORITHM_IDENTIFIER structure that contains the signature algorithm type and encoded additional encryption parameters.
...

и случайно ли оно(значение CertOIDToAlgId() для этого поля совпадает с ALG_ID(32798) алгоритма хеширования)?

Большое спасибо.
 
Ответы:
21.02.2006 10:33:33Kirill Sobolev
Нет, не возможно.
SignatureAlgorithm - это алгоритм подписи сертификата.
Алгоритм хэширования можно подобрать вручную из всех доступных, исходя из провайдера.
Можно эту работу доверить CrypoAPI (функции CryptMsg*, CryptSignMessage).