Atom Лента - Форум КриптоПро - Тема:Выбор алгоритмов подписи - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:Vyboralgoritmovpodpisi-10:1Copyright 2024 Форум КриптоПро2024-03-29T10:21:46Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruРоман кислухинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=11813&name=Роман кислухинРоман кислухинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=11813&name=Роман кислухинСанчир Момолдаевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50915&name=Санчир МомолдаевРоман кислухинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=11813&name=Роман кислухинРоман кислухинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=11813&name=Роман кислухинРоман кислухинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=11813&name=Роман кислухинalexundroshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=47126&name=alexundrosАндрей *https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=15008&name=Андрей *Роман кислухинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=11813&name=Роман кислухинalexundroshttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=47126&name=alexundrosРоман кислухинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=11813&name=Роман кислухинYetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid122725:1Выбор алгоритмов подписи<table class="content postContainer_Alt" width="100%"><tr><td>Все получилось! Спасибо!</td></tr></table>2021-02-11T12:15:07+03:002021-02-11T12:15:07+03:00Роман кислухин<table class="content postContainer_Alt" width="100%"><tr><td>Все получилось! Спасибо!</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid122718:1Выбор алгоритмов подписи<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Роман кислухин <a href="/forum2/default.aspx?g=posts&m=122708#post122708"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Тема вновь стала актуальна.<br />На Linux в Крипто Про 4 версии уже нельзя передавать пустую строку в качестве алгоритма хэширования в параметрах signPara.HashAlgorithm.pszObjId или HashAlgorithm.pszObjId подписанта. Во всех примерах, что я нашел в интернете, жестко подставляется константа с OID алгоритма. То же самое в CryptoPro SDK 2.0 - причем там подставляется старый алгоритм хэширования 34.11-94. Но нас это не устраивает, так как могут быть сертификаты как со старыми ключами, так и с новыми, а также с алгоритмами других криптопровайдеров. Хотелось бы уяснить, как на основании имеющегося сертифката понять, какой алгоритм передавать в качестве параметра?<br /></div></div><br /><br />Добрый день!<br />в файле /opt/cprocsp/src/CadesSamples/samples_util.h (при установке пакета cades)<br />есть функция GetHashOid(PCCERT_CONTEXT pCert)<br /><br /><div class="quote"><span class="quotetitle">Автор: Роман кислухин <a href="/forum2/default.aspx?g=posts&m=122708#post122708"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><br />Кстати. Тестовый УЦ <a rel="nofollow" href="https://www.cryptopro.ru/certsrv/" title="https://www.cryptopro.ru/certsrv/">https://www.cryptopro.ru/certsrv/</a> подписывает сертификаты с новыми ключами подписью старого ГОСТа.</div></div><br />Все верно. данная информация отражена на <a rel="nofollow" href="https://cryptopro.ru/solutions/test-ca" title="https://cryptopro.ru/solutions/test-ca">страничке тестовых УЦ</a></td></tr></table>2021-02-10T18:59:26+03:002021-02-10T18:59:26+03:00Санчир Момолдаев<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Роман кислухин <a href="/forum2/default.aspx?g=posts&m=122708#post122708"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Тема вновь стала актуальна.<br />На Linux в Крипто Про 4 версии уже нельзя передавать пустую строку в качестве алгоритма хэширования в параметрах signPara.HashAlgorithm.pszObjId или HashAlgorithm.pszObjId подписанта. Во всех примерах, что я нашел в интернете, жестко подставляется константа с OID алгоритма. То же самое в CryptoPro SDK 2.0 - причем там подставляется старый алгоритм хэширования 34.11-94. Но нас это не устраивает, так как могут быть сертификаты как со старыми ключами, так и с новыми, а также с алгоритмами других криптопровайдеров. Хотелось бы уяснить, как на основании имеющегося сертифката понять, какой алгоритм передавать в качестве параметра?<br /></div></div><br /><br />Добрый день!<br />в файле /opt/cprocsp/src/CadesSamples/samples_util.h (при установке пакета cades)<br />есть функция GetHashOid(PCCERT_CONTEXT pCert)<br /><br /><div class="quote"><span class="quotetitle">Автор: Роман кислухин <a href="/forum2/default.aspx?g=posts&m=122708#post122708"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><br />Кстати. Тестовый УЦ <a rel="nofollow" href="https://www.cryptopro.ru/certsrv/" title="https://www.cryptopro.ru/certsrv/">https://www.cryptopro.ru/certsrv/</a> подписывает сертификаты с новыми ключами подписью старого ГОСТа.</div></div><br />Все верно. данная информация отражена на <a rel="nofollow" href="https://cryptopro.ru/solutions/test-ca" title="https://cryptopro.ru/solutions/test-ca">страничке тестовых УЦ</a></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid122710:1Выбор алгоритмов подписи<table class="content postContainer_Alt" width="100%"><tr><td>Судя по всему, правильным является способ, описанный в документе "Конспект выступления на втором дне мастер-класса" Смышляева, а именно, через вызовы CryptFindOIDInfo. Попробую этот метод и отпишусь.<br /> </td></tr></table>2021-02-10T14:53:28+03:002021-02-10T14:53:28+03:00Роман кислухин<table class="content postContainer_Alt" width="100%"><tr><td>Судя по всему, правильным является способ, описанный в документе "Конспект выступления на втором дне мастер-класса" Смышляева, а именно, через вызовы CryptFindOIDInfo. Попробую этот метод и отпишусь.<br /> </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid122708:1Выбор алгоритмов подписи<table class="content postContainer" width="100%"><tr><td>Тема вновь стала актуальна.<br />На Linux в Крипто Про 4 версии уже нельзя передавать пустую строку в качестве алгоритма хэширования в параметрах signPara.HashAlgorithm.pszObjId или HashAlgorithm.pszObjId подписанта. Во всех примерах, что я нашел в интернете, жестко подставляется константа с OID алгоритма. То же самое в CryptoPro SDK 2.0 - причем там подставляется старый алгоритм хэширования 34.11-94. Но нас это не устраивает, так как могут быть сертификаты как со старыми ключами, так и с новыми, а также с алгоритмами других криптопровайдеров. Хотелось бы уяснить, как на основании имеющегося сертифката понять, какой алгоритм передавать в качестве параметра?<br /><br />Кстати. Тестовый УЦ <a rel="nofollow" href="https://www.cryptopro.ru/certsrv/" title="https://www.cryptopro.ru/certsrv/">https://www.cryptopro.ru/certsrv/</a> подписывает сертификаты с новыми ключами подписью старого ГОСТа.</td></tr></table>2021-02-10T13:01:30+03:002021-02-10T13:01:30+03:00Роман кислухин<table class="content postContainer" width="100%"><tr><td>Тема вновь стала актуальна.<br />На Linux в Крипто Про 4 версии уже нельзя передавать пустую строку в качестве алгоритма хэширования в параметрах signPara.HashAlgorithm.pszObjId или HashAlgorithm.pszObjId подписанта. Во всех примерах, что я нашел в интернете, жестко подставляется константа с OID алгоритма. То же самое в CryptoPro SDK 2.0 - причем там подставляется старый алгоритм хэширования 34.11-94. Но нас это не устраивает, так как могут быть сертификаты как со старыми ключами, так и с новыми, а также с алгоритмами других криптопровайдеров. Хотелось бы уяснить, как на основании имеющегося сертифката понять, какой алгоритм передавать в качестве параметра?<br /><br />Кстати. Тестовый УЦ <a rel="nofollow" href="https://www.cryptopro.ru/certsrv/" title="https://www.cryptopro.ru/certsrv/">https://www.cryptopro.ru/certsrv/</a> подписывает сертификаты с новыми ключами подписью старого ГОСТа.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid86131:1Выбор алгоритмов подписи<table class="content postContainer_Alt" width="100%"><tr><td>Может кому-то будет полезно<br />В результате эксперимента выяснилось, если передать в провайдер в качестве алгоритма пустую строку, то провайдер сам выберет необходимый алгоритм подписи (видимо берет из настроек криптопровайдера по умолчанию).<br />Тему можно закрыть.</td></tr></table>2017-11-30T16:34:34+03:002017-11-30T16:34:34+03:00Роман кислухин<table class="content postContainer_Alt" width="100%"><tr><td>Может кому-то будет полезно<br />В результате эксперимента выяснилось, если передать в провайдер в качестве алгоритма пустую строку, то провайдер сам выберет необходимый алгоритм подписи (видимо берет из настроек криптопровайдера по умолчанию).<br />Тему можно закрыть.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid86004:1Выбор алгоритмов подписи<table class="content postContainer" width="100%"><tr><td>В любом случае залезать в сертификат придется хотя бы раз,<br />а потом нужную информацию засунуть к кеш...</td></tr></table>2017-11-28T22:29:01+03:002017-11-28T22:29:01+03:00alexundros<table class="content postContainer" width="100%"><tr><td>В любом случае залезать в сертификат придется хотя бы раз,<br />а потом нужную информацию засунуть к кеш...</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid85997:1Выбор алгоритмов подписи<table class="content postContainer_Alt" width="100%"><tr><td>А замеры по лишним шагам уже сделаны?<br />речь о микросекундных-милисекундных диапазонах?</td></tr></table>2017-11-28T17:46:15+03:002017-11-28T17:46:15+03:00Андрей *<table class="content postContainer_Alt" width="100%"><tr><td>А замеры по лишним шагам уже сделаны?<br />речь о микросекундных-милисекундных диапазонах?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid85993:1Выбор алгоритмов подписи<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: alexundros <a href="/forum2/default.aspx?g=posts&m=85962#post85962"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Роман.<br />Я не специалист в продуктах КриптоПро да и в шифровании, но думаю могу вам подсказать.<br /></div></div><br /><br />Добрый день<br />Спасибо, это все мне известно. Но вопрос совсем в другом.<br />Меня интересует есть ли какой-то правильный способ, не анализируя алгоритм публичного ключа из сертификата, определить корректные параметры для функции подписи. Лазить в сертификат - это дополнительные шаги, вызовы. Это все сказывается на и так не слишком высокой производительности функций ЦП.<br /><br /><div class="quote"><span class="quotetitle">Автор: alexundros <a href="/forum2/default.aspx?g=posts&m=85962#post85962"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Роман.<br />Правильно поступать это использовать ГОСТ2012 уже сейчас, но ваше ПО не должно строго зависеть от алгоритма... <br /></div></div><br />Именно этого я и хочу добиться. Весь вопрос, как это сделать правильно?</td></tr></table>2017-11-28T17:14:28+03:002017-11-28T17:14:28+03:00Роман кислухин<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: alexundros <a href="/forum2/default.aspx?g=posts&m=85962#post85962"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Роман.<br />Я не специалист в продуктах КриптоПро да и в шифровании, но думаю могу вам подсказать.<br /></div></div><br /><br />Добрый день<br />Спасибо, это все мне известно. Но вопрос совсем в другом.<br />Меня интересует есть ли какой-то правильный способ, не анализируя алгоритм публичного ключа из сертификата, определить корректные параметры для функции подписи. Лазить в сертификат - это дополнительные шаги, вызовы. Это все сказывается на и так не слишком высокой производительности функций ЦП.<br /><br /><div class="quote"><span class="quotetitle">Автор: alexundros <a href="/forum2/default.aspx?g=posts&m=85962#post85962"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Роман.<br />Правильно поступать это использовать ГОСТ2012 уже сейчас, но ваше ПО не должно строго зависеть от алгоритма... <br /></div></div><br />Именно этого я и хочу добиться. Весь вопрос, как это сделать правильно?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid85962:1Выбор алгоритмов подписи<table class="content postContainer_Alt" width="100%"><tr><td>Роман.<br />Я не специалист в продуктах КриптоПро да и в шифровании, но думаю могу вам подсказать.<br /><br />До 1 января 2019 года старые сертификаты (ГОСТ2001) можно будет использовать (подписывать и проверять подпись) и<br />после этого срока скорее всего будет возможно создавать и проверять подпись... <br /><br />Но использовать эти сертификаты в официальных документах будет нельзя и официальные удостоверяющие центры не будут выпускать сертификаты на старых ГОСТ. <br />Таким образом весь вопрос будет в сертификатах т.е. кем они выданы...(Тестовым УЦ (КриптоПРО)или аккредитованным УЦ Минкомсвязи) <br /><br />Новые сертификаты генерируются на новых алгоритмах и конечно будет ошибка. Используемый алгоритм для ключей прямо прописан в сертификат.<br /><br />Правильно поступать это использовать ГОСТ2012 уже сейчас, но ваше ПО не должно строго зависеть от алгоритма... <br />поддержка ГОСТ2001 как минимум год должна еще оставаться...(пока у клиентов не будут сертификаты ГОСТ2012).<br /> <br /></td></tr></table>2017-11-28T11:14:53+03:002017-11-28T11:14:53+03:00alexundros<table class="content postContainer_Alt" width="100%"><tr><td>Роман.<br />Я не специалист в продуктах КриптоПро да и в шифровании, но думаю могу вам подсказать.<br /><br />До 1 января 2019 года старые сертификаты (ГОСТ2001) можно будет использовать (подписывать и проверять подпись) и<br />после этого срока скорее всего будет возможно создавать и проверять подпись... <br /><br />Но использовать эти сертификаты в официальных документах будет нельзя и официальные удостоверяющие центры не будут выпускать сертификаты на старых ГОСТ. <br />Таким образом весь вопрос будет в сертификатах т.е. кем они выданы...(Тестовым УЦ (КриптоПРО)или аккредитованным УЦ Минкомсвязи) <br /><br />Новые сертификаты генерируются на новых алгоритмах и конечно будет ошибка. Используемый алгоритм для ключей прямо прописан в сертификат.<br /><br />Правильно поступать это использовать ГОСТ2012 уже сейчас, но ваше ПО не должно строго зависеть от алгоритма... <br />поддержка ГОСТ2001 как минимум год должна еще оставаться...(пока у клиентов не будут сертификаты ГОСТ2012).<br /> <br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid85938:1Выбор алгоритмов подписи<table class="content postContainer" width="100%"><tr><td>Добрый день<br /><br />Перелопатил весь форум, но так и не нашел интересующего меня примера.<br /><br />Вопрос в выборе алгоритма подписи. У нас требование - использовать только ГОСТ. Но в связи с активным переходом на новые алгоритмы подписи (ГОСТ 2012) возникает вопрос, какой алгоритм подписи стоит применять в конкретном случае? Есть идея использовать максимально свежий и стойкий алгоритм (либо по настройке) если он доступен в криптопровайдере (сделать запрос на перечень поддерживаемых алгоритмов). Но как в этом случае будет работать криптопровайдер при использовании старых сертификатов, со старыми ключами? Будет ли создаваться подпись, а потом корректно проверяться? При использовании старых алгоритмов с новыми сертификатами выдается ошибка "Указан неправильный алгоритм. (0x80090008)".<br />Как правильно поступать?</td></tr></table>2017-11-27T17:14:13+03:002017-11-27T17:14:13+03:00Роман кислухин<table class="content postContainer" width="100%"><tr><td>Добрый день<br /><br />Перелопатил весь форум, но так и не нашел интересующего меня примера.<br /><br />Вопрос в выборе алгоритма подписи. У нас требование - использовать только ГОСТ. Но в связи с активным переходом на новые алгоритмы подписи (ГОСТ 2012) возникает вопрос, какой алгоритм подписи стоит применять в конкретном случае? Есть идея использовать максимально свежий и стойкий алгоритм (либо по настройке) если он доступен в криптопровайдере (сделать запрос на перечень поддерживаемых алгоритмов). Но как в этом случае будет работать криптопровайдер при использовании старых сертификатов, со старыми ключами? Будет ли создаваться подпись, а потом корректно проверяться? При использовании старых алгоритмов с новыми сертификатами выдается ошибка "Указан неправильный алгоритм. (0x80090008)".<br />Как правильно поступать?</td></tr></table>