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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Burilas  
#1 Оставлено : 20 февраля 2017 г. 9:38:04(UTC)
Burilas

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

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

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 1 раз в 1 постах
Здравствуйте.

Я запустил ваш пример("SMEVExample") и он отработал нормально, после проверки на портале смэв, подпись корректна.
На основе вашего примера, я написал подписание ответа, но в строке связанной с поиском BinarySecurityToken по id

Код:
Element cerVal = (Element) XPathAPI.selectSingleNode(token, "//*[@wsu:Id='SenderCertificate']");


выпадает ошибка NullPointerException, тогда я сделал альтернативу, при которой строка стала

Код:
Element cerVal = (Element) token.getElementsByTagName("wsse:BinarySecurityToken").item(0);


Но при проверке на сервисе смэв, пишет, что подпись некорректная

Может ли из-за этого быть ошибка в подписи?

Отредактировано пользователем 20 февраля 2017 г. 9:41:47(UTC)  | Причина: Не указана

Offline Burilas  
#2 Оставлено : 20 февраля 2017 г. 12:33:37(UTC)
Burilas

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

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

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 1 раз в 1 постах
Добавил перед подписыванием следующую строку:

Код:
header.getSecurityHeader().setAttribute("xmlns:wsse", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd");


теперь не падает NullPointerException и файл подписывается, но при сверке всё равно выдаёт "Неверная ЭП сообщения"

Не помог способ, видать не обновил/сохранил что-то при выполнение

Отредактировано пользователем 21 февраля 2017 г. 7:49:48(UTC)  | Причина: Не указана

Offline Burilas  
#3 Оставлено : 21 февраля 2017 г. 7:55:15(UTC)
Burilas

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

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

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 1 раз в 1 постах
Если локальная проверка проходит, то как можно ещё убедиться в правильности подписи?
На сайте СМЭВ указывается, что "Неверная ЭП сообщения". Они описываю алгоритм проверки:

Проверка подписи происходит следующим образом:
- в СМЭВ поступает запрос;
- канонизируется элемент SignedInfo с помощью алгоритма c14n;
- далее расшифровывается SignatureValue с помощью открытого ключа сертификата – x1;
- берется SignedInfo и считается от него хэш – x2, если x1 не равен x2, СМЭВ возвращает ошибку «Неверная ЭП сообщения. Если же х1 = х2, то проверка переходит на следующий шаг;
- считается хэш от body запроса – y1 по методу указанному в DigestMethod. Из DigestValue получаем – y2. Если y1 не равен y2, то СМЭВ возвращает ошибку "Неверная ЭП сообщения".

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