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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline korka  
#1 Оставлено : 18 мая 2022 г. 13:02:15(UTC)
korka

Статус: Новичок

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

Здравствуйте. При попытке запустить пример Sample-sources/CryptXML.java
Код:

public static void main(String[] args) throws Exception {

        /**
         * Регистрация алгоритмов ГОСТ
         */

        XmlInit.init();

        check(JCP.GOST_EL_DH_EPH_NAME,   "Crypto", JCP.GOST_EL_SIGN_NAME,       JCP.PROVIDER_NAME, "CN=cert01");
        check(JCP.GOST_DH_2012_256_NAME, "Crypto", JCP.GOST_SIGN_2012_256_NAME, JCP.PROVIDER_NAME, "CN=cert256");
        check(JCP.GOST_DH_2012_512_NAME, "Crypto", JCP.GOST_SIGN_2012_512_NAME, JCP.PROVIDER_NAME, "CN=cert512");

        System.out.println("%%% OK %%%");

    }

приложение падает на вызове функции check с ошибкой java.security.NoSuchProviderException: no such provider: Crypto.

Подскажите в чем причина и в какую сторону копать?
Offline Евгений Афанасьев  
#2 Оставлено : 18 мая 2022 г. 15:11:44(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Здравствуйте.
Приведите полный номер версии JCP в формате x.y.zzzzz, Java 8 или 10+?
Offline korka  
#3 Оставлено : 19 мая 2022 г. 4:26:32(UTC)
korka

Статус: Новичок

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

Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
Приведите полный номер версии JCP в формате x.y.zzzzz, Java 8 или 10+?


Здравствуйте. jcp - 2.0.40035, Java 8
Offline korka  
#4 Оставлено : 19 мая 2022 г. 11:14:40(UTC)
korka

Статус: Новичок

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

Ситуация изменилась.
Сейчас получаю ошибку

Код:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xml/security/exceptions/AlgorithmAlreadyRegisteredException
	at com.example.fss_wsdl.utils.CryptXML.main(CryptXML.java:46)
Caused by: java.lang.ClassNotFoundException: org.apache.xml.security.exceptions.AlgorithmAlreadyRegisteredException
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 1 more


У меня в проекте есть папка libs, в которую я скопировал jcp-шные jar-файлы:
ASN1p, asn1rt, CAdES, forms_rt, J6CF, J6Oscar, JCP, JCPInst, JCPRequest, JCPRevCheck, JCPRevTools, JCPxml, JCryptoP, OCF, Oscar, XMLDsigRI.
В проект их подключал через gradle (implementation files('/libs/ASN1p.jar') и т. д.)
Таким же образом подключены 4 файла, про которые сказано в документации (они тоже лежат в папке libs)

Код:

    implementation files('libs/commons-logging-1.2.jar')
    implementation files('libs/serializer-2.7.1.jar')
    implementation files('libs/xalan-2.7.1.jar')
    implementation files('libs/xmlsec-1.5.0.jar')


Может дело в версиях файлов?

Upd.
Скопировал 4 файла в .../jre/lib/ext и всё заработало.
Единственное, что попробовал заменить xmlsec-1.5.0 на более свежую версию 2.3.0 и опять повалились ошибки - пока остановлюсь на рабочем варианте.

Отредактировано пользователем 19 мая 2022 г. 13:05:45(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#5 Оставлено : 19 мая 2022 г. 13:52:37(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Автор: korka Перейти к цитате
попробовал заменить xmlsec-1.5.0 на более свежую версию 2.3.0 и опять повалились ошибки

xmlsec версии 1.х и 2.х отличаются, поддерживаемой JCP считается 1.5.0.

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