Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 4.0
»
Множественная подпись PKCS#7 с разными алгоритмами хеширования (ГОСТ 34.11-94 и ГОСТ 34.11-2012)
Статус: Участник
Группы: Участники
Зарегистрирован: 09.02.2017(UTC) Сообщений: 24 Сказал(а) «Спасибо»: 7 раз
|
Здравствуйте, команда КриптоПро! При реализации подписи PKCS#7 с использованием КриптоПро CSP 4.0 R3 столкнулись с проблемой, что невозможно наложить на документ две подписи с разными алгоритмами хеширования. При попытке наложить вторую подпись с отличающимся алгоритмом получаем ошибку "Неизвестный криптографический алгоритм. (0x80091002)". Ту же картину наблюдаем при попытке подписания документа в КриптоАРМ. Если изначально подписать документ с использованием сертификата ГОСТ 2001, а потом попробовать добавить подпись с использованием сертификата ГОСТ 2012, то: 1. При выборе сертификата для подписи КриптоАРМ фильтрует список сертификатов по хэш-алгоритму первой подписи; 2. Если удается указать сертификат с ГОСТ 2012, то КриптоАРМ выводит сообщение "был указан хэш-алгоритм, несовместимый с данным файлом подписи". Большая просьба пояснить, чем вызваны данные ограничения? Это ограничение стандартов электронной подписи? На форуме уже поднимался вопрос данного технического ограничения в КриптоПро CSP, но причины так и не были разъяснены. https://www.cryptopro.ru...aspx?g=posts&t=10915https://www.cryptopro.ru....aspx?g=posts&t=5712P.S.: дополнительно по поводу КриптоАРМ. Ограничение наблюдается в версиях (с сайта КриптоПро): - 5 Обновление 4.1 (сборка 93 от 17.07.2017 г.) - сертифицированная
- 5 (сборка 5.4.2.258 от 16.10.2018 г.)
На версиях с сайта разработчика проблема не проявляется, АРМ дает подписать обоими ГОСТ-ами: - 5 (сборка 5.4.2.280)
- КриптоАРМ ГОСТ 1.4.3
Отредактировано пользователем 17 января 2019 г. 13:19:21(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.02.2017(UTC) Сообщений: 24 Сказал(а) «Спасибо»: 7 раз
|
Как выяснилось:1. Стандарты ЭП не вносят ограничений на подпись сертификатами с разными алгоритмами. 2. В сертифицированной версии КриптоАРМ данное ограничение было сделано специально. В последних же версиях ограничение было снято для ГОСТ 2001 и ГОСТ 2012. Остается вопрос:В нашей java-реализации подписи PKCS#7 встречается ошибка при попытке наложить на документ вторую подпись с другим алгоритмом подписи (первая ГОСТ 2001, вторая ГОСТ 2012). Используется функция cryptMsgControl в режиме CMSG_CTRL_ADD_SIGNER. В итоге имеем ошибку: Цитата:Error in function cryptMsgControl occured. Unknown cryptographic algorithm. (0x80091002) КриптоПро CSP 4.0 R3, ОС Гослинукс 7.11 x64 (IC5), java 1.8.0_172. Команда КриптоПро, просьба пояснить, чем может быть вызвана данная ошибка, в чем может быть проблема? Отредактировано пользователем 17 января 2019 г. 18:24:25(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,271
Сказал(а) «Спасибо»: 22 раз Поблагодарили: 446 раз в 325 постах
|
В КриптоПро CSP 4.0 / 5.0 ошибку не подтверждаю. Подписи с разными алгоритмами можно успешно добавлять вызовом СryptMsgControl(CMSG_CTRL_ADD_SIGNER). Например, в этом можно убедиться с помощью csptestf: Код:csptestf -lowsign -sign -in /tmp/test.dat -out /tmp/test.dat.1.sgn -my CN=g2012_512 -alg GOST12_512 -add
csptestf -lowsign -addsign -in /tmp/test.dat.1.sgn -out /tmp/test.dat.2.sgn -my CN=g2012_256 -alg GOST12_256 -add
csptestf -lowsign -addsign -in /tmp/test.dat.2.sgn -out /tmp/test.dat.3.sgn -my CN=g2001_256 -alg GOST94_256 -add
Прикладывайте системный журнал, будем разбираться. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.02.2017(UTC) Сообщений: 24 Сказал(а) «Спасибо»: 7 раз
|
Сообщения messages в момент ошибки: Код:Jan 18 11:12:09 localhost java[10059]: capi20: CryptMsgControl () Exception :'Ошибка x80091002: Неизвестный криптографический алгоритм.' at file:'/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/capilite/CMSSignedMessage.cpp' line:2412
Jan 18 11:12:09 localhost java[10059]: capi10: CryptDestroyHash () invalid argument(s)!
Jan 18 11:12:09 localhost java[10059]: capi10: CryptDestroyHash () invalid argument(s)!
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,271
Сказал(а) «Спасибо»: 22 раз Поблагодарили: 446 раз в 325 постах
|
Воспроизвели: ошибка только при detached-подписи. Поправим. Запрос для ориентира в changelog - CPCSP-9640. |
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 4.0
»
Множественная подпись PKCS#7 с разными алгоритмами хеширования (ГОСТ 34.11-94 и ГОСТ 34.11-2012)
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close