Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.04.2016(UTC) Сообщений: 35 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Moscow Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
Добрый день. Пытаюсь настроить подпись для СМЭВ с помощью примера SMEVExample из архива test_jcp_wss4j1_6. Все зависимости удовлетворены, при запуске получаю: Цитата: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xml/security/exceptions/AlgorithmAlreadyRegisteredException at ru.CryptoPro.JCPxml.xmldsig.JCPXMLDSigInit.isInitialized(Unknown Source) at wss4j.wss4j1_6_3.tests.forum.SMEVExample.main(SMEVExample.java:91) Caused by: java.lang.ClassNotFoundException: org.apache.xml.security.exceptions.AlgorithmAlreadyRegisteredException at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 2 more Java Result: 1
Насколько я понимаю, для того, чтобы всё завелось нужно правильно прописать настройки в data/WebContent/crypto.properties. Но не очевидно что и как нужно прописать там, для работы с eToken ключом. Система ubuntu 15.10 x64 установлены: java jdk1.6.0_45 jcp.1.0.46 wss4j-1.6.3 eToken_for_CryptoPro_JCP_2.0.0.89 Отредактировано пользователем 28 апреля 2016 г. 12:51:04(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Здравствуйте. Возможно, проблема в версии xmlsec, у вас 1.4.4-1.4.5 версия? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.04.2016(UTC) Сообщений: 35 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Moscow Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
xmlsec-1.4.5 версии библиотек я сверял со списком из ридми файла в архиве test_jcp_wss4j1_6.tar.gz
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Посмотрите статью, может быть, проблема в загрузке библиотеки. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 28.04.2016(UTC) Сообщений: 35 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Moscow Сказал(а) «Спасибо»: 1 раз Поблагодарили: 2 раз в 2 постах
|
В статье всё равно не очевидно, что нужно прописать в crypto.properties, чтобы тест, при выполнении, при инициализации jcp обращался к етокену, а не к фс, как это в примере настроек: Цитата: org.apache.ws.security.crypto.provider=wss4j.wss4j1_6_3.ws.security.components.crypto.MerlinEx^M org.apache.ws.security.crypto.merlin.keystore.type=HDImageStore^M org.apache.ws.security.crypto.merlin.keystore.password=Pass1234^M org.apache.ws.security.crypto.merlin.keystore.alias=gost_exch^M cert.file=C:/merlin/keys/my/gost_exch/client.cer^M ca.file=C:/merlin/keys/my/ca.cer^M crl.file=C:/merlin/keys/my/certcrl.crl
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.03.2011(UTC) Сообщений: 153 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 7 раз в 5 постах
|
Не каждый день заглядываю на форум. Хочу спросить, что вам не понятно в настройках CXF? Постараюсь ответить. Код:org.apache.ws.security.crypto.merlin.keystore.type=HDImageStore
Это тип хранилища закрытых ключей на жестком диске (HDD/SSD). Если вам удалось настроить eToken, в ContolPanel, появится новый тип носителя. Постарайтесь указать данный тип. Я бы рекомендовал вам посмотреть реализацию метода createSignatureOutInterceptor(). Там указывается параметр Код:params.put("signaturePropFile", "crypto.properties");
Это настройки работы компонента поднятия провайдеров. В этом файле нет смысла указывать файлы ключей. Для этих целей используется другой параметр Код:params.put("signatureUser", "123456789012_12345678901234567890"); // SignatureAction берет это имя
Здесь вы указываете название контейнера закрытого ключа пользователя, которым будете подписывать сообщение. Первое замечание к статье. Статья написана относительно давно и в ней нет названий новых ГОСТ алгоритмов подписи. Второе замечание к статье. В комментариях к статье есть ссылка на GitHub. Там находится немного доработанный механизм CXF - добавлена проверка принимаемой подписи от сервера клиентом, подписание сообщения сервером, проверка сервером подписи от клиента. Отредактировано пользователем 25 мая 2016 г. 22:53:08(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close