Статус: Новичок
Группы: Участники
Зарегистрирован: 18.09.2017(UTC) Сообщений: 5 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Russia Поблагодарили: 2 раз в 2 постах
|
Доброго времени суток! Столкнулся со следующей проблемой: 1) Подписываю SOAP-сообщение с помощью ЭЦП с ипользованием TrustedJava 2.0 , подпись формируется и при передаче сообщения в ГИС ЖКХ сообщение обрабатывается корректно. 2) Если я заменю trustedJava на JCP2.0, то подпись формируется, структура подписи соответствует формату XMLDSig, да и формату, формируемому предыдущим способом, но ГИС ЖКХ сообщает, что ЭЦП не прошла проверку: Код:<ns4:ErrorCode>AUT011005</ns4:ErrorCode>
<ns4:Description>Ошибка формата подписи запроса</ns4:Description>
<ns4:StackTrace>ru.lanit.hcs.integration.common.exception.OperationProcessorException: ЭП не прошла проверку: Invalid XML Signature
Для разбора проблемы я сгенерировал 2 подписанных сообщения из одного исходного с помощью JCP и TJ. После анализа сообщений я увидел интересную разницу - в сообщениях отличаются значения узлов: Код:
//ds:SignedInfo/ds:Reference[ds:DigestMethod[@Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"]][1]/ds:DigestValue
//ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509SubjectName
Так в случае с TJ дайджест принимает значение P7Il0OiEMuOoWgJ6oHMc4IBpSmUA0WOGv7/e8zevvd0= А с JCP sxbSC91XV1EKXmnK+uVPWidE0bEh/OEuUaLxntKJHZE=, несмотря на то, что для формирования сообщений использовался один сертификат и одно и тоже исходное сообщение. Сообщения приложены ![](/forum2/Themes/soclean/icon_file.gif) SourceMessage.xml (2kb) загружен 8 раз(а).![](/forum2/Themes/soclean/icon_file.gif) TrustedJavaResult.xml (11kb) загружен 7 раз(а).![](/forum2/Themes/soclean/icon_file.gif) CryptoJCP.xml (11kb) загружен 10 раз(а).Во всех случаях использовались одинаковые параметры для подписи: Код:
public static final String DIGEST_ALGORITHM_NAME = "GOST3411";
public static final String SIGNATURE_ALGORITHM = "http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411";
public static final String CANONICALIZATION_ALGORITHM_FOR_SIGNATURE = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315";
public static final String CANONICALIZATION_ALGORITHM_FOR_TIMESTAMP_PROPERTIES = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315";
public static final String SIGNED_PROPS_TYPE_URI = "http://uri.etsi.org/01903#SignedProperties";
ПО: Win7-64 TrustedJava 2.0 JCP 2.0 JRE_1.8 CryptoPro 3.9 Таким образом получается, что JCP и TJ имеют разницу в реализации ГОСТовских алгоритмов? Ребят, кто сталкивался - прошу оказать посильное содействие. Приоритет у нас JCP, но если не выйдет с ним, будем использовать TJ. Спасибо!
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил v.azarov за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Здравствуйте. Проверим приложенные сообщения. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.09.2017(UTC) Сообщений: 5 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Russia Поблагодарили: 2 раз в 2 постах
|
@afev, благодарю. Если понадобится дополнительная информация - велком.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Вы для формирования xades с TrustedJava используете какую-то библиотеку типа xades.jar (google) или этот функционал доступен в TrustedJava? Не могли бы залогировать и приложить данные (если такая возможно существует), которые хешируются? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.09.2017(UTC) Сообщений: 5 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Russia Поблагодарили: 2 раз в 2 постах
|
Товарищи, я разобрался. Необходимо было установить следующие параметры для фабрики: Код:
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setNamespaceAware(false);
dbFactory.setIgnoringElementContentWhitespace(true);
dbFactory.setCoalescing(true);
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.09.2017(UTC) Сообщений: 5 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Russia Поблагодарили: 2 раз в 2 постах
|
Да, и сообщение проходит валидацию на стороне ГИС ЖКХ
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Автор: v.azarov ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Да, и сообщение проходит валидацию на стороне ГИС ЖКХ Замечательно. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close