Статус: Активный участник
Группы: Участники
Зарегистрирован: 04.04.2008(UTC) Сообщений: 43 Откуда: Новосибирск
|
Пример из test_jcp_wss4j1_5.tar.gz сработал. Странно, там вроде все тоже самое. Попробую найти 10 отличий.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,006  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Пример из 1.5.11 отработал с wss4j 1.6.3 (+ jcp) или с wss4j 1.5.11 ? Если с последним, то там CryptoPro XMLDSigRI не используется. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 04.04.2008(UTC) Сообщений: 43 Откуда: Новосибирск
|
пример из 1.5.11 отработал с wss4j 1.5.11, всё делал по инструкции. Кстати давно хотел задать вопрос - зачем нужен XMLDSigRI? Теоретически ведь должно быть все просто - подключаешь провайдер подписи и хеширования ГОСТ (JCP), а остальное wss4j должен сам делать... У меня задача - поддержать протокол СМЭВ, поэтому я начал с примера http://cryptopro.ru/blog...olzovaniem-kriptopro-jcp . Но у меня такое чувство, что для этой задачи достаточно wss4j с зависимостями и JCP. Или я не прав? Кстати, а может в яве есть какое-нибудь встроенное подобие wss4j? Тогда вообще только один JCP нужен был бы в зависимостях...
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,006  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
XMLDSigRI нужен для wss4j версии 1.6 и выше, так как в нем используется стандарт JSR 105 (Java XML Digital Signature, http://docs.oracle.com/j...y/xmldsig/overview.html) API. Для wss4j 1.5 библиотека XMLDSigRI не нужна (тут действительно нужен только JCP). |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 13.07.2020(UTC) Сообщений: 1 
|
Для верификации подписи используется другой криптопровайдер: ApacheXMLDSig Нужно подменить классы перед проверкой: Код:
WSSecurityEngineResult actionResult = null;
// Verify signature and see that it's wrong because of excess xmlns
Security.getProvider("ApacheXMLDSig").put("XMLSignatureFactory.DOM", "ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignatureFactory");
Security.getProvider("ApacheXMLDSig").put("KeyInfoFactory.DOM", "ru.CryptoPro.JCPxml.dsig.internal.dom.DOMKeyInfoFactory");
try {
List<WSSecurityEngineResult> results = secEngine.processSecurityHeader(doc, null, null, crypto);
actionResult = WSSecurityUtil.fetchActionResult(results, WSConstants.SIGN);
} catch (WSSecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Wrong document shows 'null'
System.out.println("Verified: " + actionResult);
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close