CryptoPro / libcore

44 stars 0 forks source link

Получение алгоритма хэширования #9

Closed Bykiev closed 1 year ago

Bykiev commented 1 year ago

Здравствуйте, возможно ли получить с помощью библиотеки алгоритм хэширования из сертификата, а не жестко задавать, как это в примере подписи?

Fasjeit commented 1 year ago

Про какой именно алгоритм хэширования вопрос?

Если имеется в виду, подбор алгоритма хэширования для последующей подписи полученного хэш-значения от данных ключом, привязанным к сертификату - тот тут жёсткая привязка в зависимости от алгоритма подписи.

ГОСТ 34.10-2001- ГОСТ 34.11-2001 ГОСТ 34.10-2012 256 - ГОСТ 34.11-2012 256 ГОСТ 34.10-2012 512 - ГОСТ 34.11-2012 512

Получить алгоритм подписи можно посмотрев на тип ключа в x509Certificate.PrivateKey или в x509Certificate.PublicKey.Key, или на Oid x509Certificate.PublicKey.Oid.

Список Oid - https://cpdn.cryptopro.ru/content/csp40/html/group___pro_c_s_p_ex_DP8.html

Bykiev commented 1 year ago

Спасибо, вопрос был по формированию подписи, в примере задавался string DigestMethod = CpSignedXml.XmlDsigGost3411_2012_256Url