Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline skull  
#1 Оставлено : 17 января 2019 г. 11:00:08(UTC)
skull

Статус: Участник

Группы: Участники
Зарегистрирован: 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=10915
https://www.cryptopro.ru....aspx?g=posts&t=5712

P.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)  | Причина: Не указана

Offline skull  
#2 Оставлено : 17 января 2019 г. 18:23:32(UTC)
skull

Статус: Участник

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline Русев Андрей  
#3 Оставлено : 17 января 2019 г. 21:39:29(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

Прикладывайте системный журнал, будем разбираться.
Официальная техподдержка. Официальная база знаний.
Offline skull  
#4 Оставлено : 18 января 2019 г. 11:20:10(UTC)
skull

Статус: Участник

Группы: Участники
Зарегистрирован: 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)!
Offline Русев Андрей  
#5 Оставлено : 23 января 2019 г. 8:54:27(UTC)
Русев Андрей

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,271

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 446 раз в 325 постах
Воспроизвели: ошибка только при detached-подписи. Поправим. Запрос для ориентира в changelog - CPCSP-9640.
Официальная техподдержка. Официальная база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.