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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline complete_n00b  
#1 Оставлено : 30 октября 2018 г. 11:25:39(UTC)
complete_n00b

Статус: Новичок

Группы: Участники
Зарегистрирован: 30.10.2018(UTC)
Сообщений: 3
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Доброго времени суток!

У меня есть легаси веб-приложение, которое работает с сертификатами:
- на UI подписываются xml документы
- на бэкенде происходит валидация подписанного документа

Прошлые разработчики реализовали создание подписи с помощью алгоритма ГОСТ Р 34.10-2001, используя пример из документации Создание и проверка подписи документа XML по шаблону. Сейчас заказчик требует добавить поддержку алгоритмов подписи ГОСТ Р 34.10-2012 с ключом 256 бит и ГОСТ Р 34.10-2012 с ключом 512 бит.

Я взял ваше тестовое приложение Проверка создания электронной подписи XML и пытаюсь подписать xml из примера алгоритмом ГОСТ Р 34.10-2012 с ключом 512 бит, при этом, в исходном коде примера я указал параметр

oSignedXML.SignatureType = cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE;

Полный код метода


В результате я получаю сообщение об ошибке

Не удалось создать подпись из-за ошибки: Cannot find object or property. (0x80092004).

В связи с этим вопрос: как мне подписать xml указанными алгоритмами?

Требуемый браузер IE 11 v.11.55.17763.0

Отредактировано пользователем 30 октября 2018 г. 11:37:29(UTC)  | Причина: Не указана

Offline complete_n00b  
#2 Оставлено : 30 октября 2018 г. 13:01:42(UTC)
complete_n00b

Статус: Новичок

Группы: Участники
Зарегистрирован: 30.10.2018(UTC)
Сообщений: 3
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Обновил код метода, добавил в него XML-шаблон из унаследованного кода.



Сейчас получается подписать документ с помощью алгоритма ГОСТ Р 34.10-2001, но при подписи алгоритмом ГОСТ Р 34.10-2012 с ключом 512 бит появляется уже новое сообщение об ошибке

Не удалось создать подпись из-за ошибки: An error was encountered while processing an XML digital signature. (0x800705BA)

Я правильно понимаю, что проблемы возникают из-за XML-шаблона? И если да, то что необходимо изменить?
Offline Aleksandr G*  
#3 Оставлено : 30 октября 2018 г. 15:29:00(UTC)
Aleksandr G*

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.09.2016(UTC)
Сообщений: 126

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 35 раз в 28 постах
У вас в шаблоне остались старые ГОСТы.

<SignatureMethod Algorithm=\"http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411\"></SignatureMethod>"

<DigestMethod Algorithm=\"http://www.w3.org/2001/04/xmldsig-more#gostr3411\"></DigestMethod>"

попробуйте заменить на те, что получаете чуть выше:

Код:
signMethod = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256";
digestMethod = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256";
}
else if (algoOid == "1.2.643.7.1.1.1.2") {   // алгоритм подписи ГОСТ Р 34.10-2012 с ключом 512 бит
signMethod = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-512";
digestMethod = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-512";
thanks 1 пользователь поблагодарил Aleksandr G* за этот пост.
complete_n00b оставлено 30.10.2018(UTC)
Offline complete_n00b  
#4 Оставлено : 30 октября 2018 г. 15:49:42(UTC)
complete_n00b

Статус: Новичок

Группы: Участники
Зарегистрирован: 30.10.2018(UTC)
Сообщений: 3
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Aleksandr G*, спасибо! Заработало!
Я подозревал, что дело в этих атрибутах, но я неправильно указывал новые ГОСТы.

Спасибо, все заработало.

Если кто-то столкнется с аналогичной проблемой, то вот исправленный код метода

Отредактировано пользователем 30 октября 2018 г. 15:51:37(UTC)  | Причина: Добавил исправленный рабочий код

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.