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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline lstef  
#1 Оставлено : 28 апреля 2016 г. 12:36:17(UTC)
lstef

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

Группы: Участники
Зарегистрирован: 28.04.2016(UTC)
Сообщений: 35
Российская Федерация
Откуда: 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)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 28 апреля 2016 г. 12:39:21(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,926
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Здравствуйте.
Возможно, проблема в версии xmlsec, у вас 1.4.4-1.4.5 версия?
Offline lstef  
#3 Оставлено : 28 апреля 2016 г. 12:50:30(UTC)
lstef

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

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

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
xmlsec-1.4.5
версии библиотек я сверял со списком из ридми файла в архиве test_jcp_wss4j1_6.tar.gz
Offline Евгений Афанасьев  
#4 Оставлено : 28 апреля 2016 г. 13:55:31(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,926
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Посмотрите статью, может быть, проблема в загрузке библиотеки.
Offline lstef  
#5 Оставлено : 10 мая 2016 г. 13:49:01(UTC)
lstef

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

Группы: Участники
Зарегистрирован: 28.04.2016(UTC)
Сообщений: 35
Российская Федерация
Откуда: 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
Offline miser  
#6 Оставлено : 25 мая 2016 г. 22:52:30(UTC)
miser

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

Группы: Участники
Зарегистрирован: 14.03.2011(UTC)
Сообщений: 152
Мужчина
Откуда: Санкт-Петербург

Сказал «Спасибо»: 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)  | Причина: Не указана

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