Статус: Новичок
Группы: Участники
Зарегистрирован: 18.09.2017(UTC) Сообщений: 5 Откуда: 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=, несмотря на то, что для формирования сообщений использовался один сертификат и одно и тоже исходное сообщение. Сообщения приложены SourceMessage.xml (2kb) загружен 8 раз(а). TrustedJavaResult.xml (11kb) загружен 7 раз(а). 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. Спасибо!
|
1 пользователь поблагодарил v.azarov за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,910 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 685 раз в 646 постах
|
Здравствуйте. Проверим приложенные сообщения. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.09.2017(UTC) Сообщений: 5 Откуда: Russia Поблагодарили: 2 раз в 2 постах
|
@afev, благодарю. Если понадобится дополнительная информация - велком.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,910 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 685 раз в 646 постах
|
Вы для формирования xades с TrustedJava используете какую-то библиотеку типа xades.jar (google) или этот функционал доступен в TrustedJava? Не могли бы залогировать и приложить данные (если такая возможно существует), которые хешируются? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.09.2017(UTC) Сообщений: 5 Откуда: Russia Поблагодарили: 2 раз в 2 постах
|
Товарищи, я разобрался. Необходимо было установить следующие параметры для фабрики: Код:
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setNamespaceAware(false);
dbFactory.setIgnoringElementContentWhitespace(true);
dbFactory.setCoalescing(true);
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,910 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 685 раз в 646 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.09.2017(UTC) Сообщений: 5 Откуда: Russia Поблагодарили: 2 раз в 2 постах
|
Да, и сообщение проходит валидацию на стороне ГИС ЖКХ
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,910 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 685 раз в 646 постах
|
Автор: v.azarov Да, и сообщение проходит валидацию на стороне ГИС ЖКХ Замечательно. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close