• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Украина. Цифровая подпись. Библиотека EUSignJava.jar

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Всем привет!
Кто-то сталкивался с библиотекой цифровой подписи EUSignJava.jar?
Поделитесь опытом.
Подпись оформлена в виде серверного агента. Метод VerifySign();
Суть проблемы - последовательный запуск метода VerifySign(); через раз вызывает ошибку совершенно не информативную ошибку Error at reading settings, хотя путь к найстроечному файлу указан в коде. Где библиотека ищет файл - не ясно.

Самое интересное - этот же агент на клиенте отрабатывает всегда и без ошибки.
Структура каталогов с сертификатами и настройками на сервере и клиенте одинаковая.

На сервере Win2008 R2, 64 Bit. Domino Server 9.0.1 FP3

Проблема явно на сервере, но локализовать ее не получается.

От продавца толковой консультации получить не удается


Код:
    public static String VerifySign( String user, String pass ){
        try {
          
            EndUser endUser = new EndUser();
            endUser.SetUIMode(false);
            endUser.SetLanguage(EndUser.EU_EN_LANG);
           
            // указывам путь к настроечному файлу
            endUser.SetSettingsFilePathEx("d:\\E_Sign\\certs\\", EndUser.EU_REG_KEY_ROOT_PATH_HKLM, null);
          
            endUser.Initialize();
            endUser.SetUIMode(false);
      
            System.out.println( endUser.IsInitialized() );
          
            EndUserFileStoreSettings settings = endUser.GetFileStoreSettings();
            System.out.println( settings.GetPath() );          
          
            EndUserSignInfo signInfo = endUser.VerifyFileWithExternalSign( "d:\\Doc.docx", "d:\\Doc.docx.p7s" );      
            EndUserOwnerInfo info = signInfo.GetOwnerInfo();
          
            System.out.println(  info.GetSubjFullName() );
            System.out.println(  info.GetSubjOrg()  );
            System.out.println(  info.GetSubjOrgUnit() );
            System.out.println(  info.GetSubjTitle()  );
          
            System.out.println(  "Готово!"  );
            endUser.Finalize();  
          
            endUser = null;
            signInfo = null;
                      
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return e.getMessage();
        }

        return "Готово!!!";
      
    }
 
Последнее редактирование:
B

Bob84

Файл на сервере точно есть по указанному пути? Какие разрешения установлены для агента, который выполняет этот код на сервере?
Известна строка на которой код падает?
 

garrick

Lotus Team
26.10.2009
1 349
151
BIT
176
Может такое быть, что при начале работы в endUser.SetSettingsFilePathEx() или endUser.Initialize() файл с настройками лочится, а в endUser.Finalize() "отпускается"? И если в первый раз что-то пошло не так, то при повторном запуске файл отстаётся залоченным предыдущим запуском и недоступен программе.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
как вариант - не оформлять код в агенте, написать, скомпилить, выложить в jvm/lib/ext
обозначить синглтон для контроля ресурсов
еще вариант - декомпилить либу и попытаться написать "нормально" (т.е. файл чтобы не лочился)
 
T

Tarik_ua_79

Подскажите, пожалуйста, при endUser.Initialize(); выкидывает ошибку:

java.lang.Exception: Error at loading interaction library
at com.iit.certificateAuthority.endUser.libraries.signJava.EndUser.CheckLibraryLoad(EndUser.java:121)
at com.iit.certificateAuthority.endUser.libraries.signJava.EndUser.Initialize(EndUser.java:207)
at JavaAgent.test1(JavaAgent.java:84)
at JavaAgent.NotesMain(JavaAgent.java:26)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)

Не пинайте сильно, в Java не силен :(, где я что забыл добавить или прописать?

Библиотека EUSignJava.jar лежит в папке Notes\jvm\lib\ext. Dll-ки запихнул в нее в \EUSignJava.jar\Libraries\Win\
При старте распаковывает их в папку AppData\Local\Temp\EUSign-x86-1.3.57
Но вылетает на функции EndUser.CheckLibraryLoad, переменная library==null.
Не разобрался где и как прописывать файл настроек. В реестре все прописано, как в мануале.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
A

AdeptOfYourFaith

Всем привет!
Прошу помощи в пользовании библиотеки EUSignJava.jar . Библиотеку качал с источник .
Столкнулся с проблемой отсутствия документации, гугул не помагает найти документацию в которой сказано какая функция\класс за что отчечает. Если имеете документацию поделитесь)
На данном форуме наткнулся на готовое решение тема на форуме которым хочу воспользоваться(по кнопке подписать файл), но при использование
Java:
endUser.SetSettingsFilePathEx("d:\\E_Sign\\certs\\", EndUser.EU_REG_KEY_ROOT_PATH_HKLM, null);
Lotus утверждает что такого метода в класе нету. Также хотелось бы узнать с документации про метод .SetSettingsFilePathEx()
Я подключал библиотеку через :
1.Создаю java агента
2. В его Archive импортирую EUSignJava.jar
3. В JavaAgent.java импортирую как
Java:
import com.iit.certificateAuthority.endUser.libraries.signJava.*;

Также положил EUSignJava.jar в jvm/lib/ext
 

Вложения

  • Новый точечный рисунок.jpg
    Новый точечный рисунок.jpg
    16 КБ · Просмотры: 819
Последнее редактирование модератором:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!