Подпись криптопровайдером выгруженного xml

erdi

Green Team
20.08.2008
264
17
BIT
0
а вместо веб-плагина нет желания использовать КриптоПро ЭЦП SDK и дергать его через тот же COM? тогда и проблем с ожиданием когда же подпишется документ в браузере не будет
 

alexas1

Green Team
10.04.2014
1 185
218
BIT
18
Криптопровайдеру при запуске можно передать файл для открытия, путь для сохранения файла (папка)
Ну дык непонятно, чо мудрить: запустил свой крипто с указанием папки для сохранения и параллельно её мониториш. Как там появилось файло - значит оно подписано. Берёшь его, аттачишь, удаляешь.
В чём засада? Что не понятно или не подходит? Проверить - 10 минут работы, а обсуждений на пол дня :bored:
... тогда и проблем с ожиданием когда же подпишется документ в браузере не будет ...
???
Чекать папку на появление файла с интервалом, положим, в секунду при работе с бровзером - не задержка, а нотус эту нагрузку даже не заметит.
 
Последнее редактирование модератором:

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
602
BIT
410
 
  • Нравится
Реакции: duchan

seoman2

Green Team
17.02.2010
507
1
BIT
72
Код:
В Postopen Database Script -
Set TimerG = New NotesTimer(60) 'чекаем ежеминутно
On Event Alarm From TimerG Call FileExists(MyFile)
А почему нельзя этот код в кнопку "Подписать" ставить?
Не хочу всё время в документах проверять наличие файлов в папке.
 

seoman2

Green Team
17.02.2010
507
1
BIT
72
Просто интересно почему и на форуме, и в хелпе рекомендуют в "Postopen Database Script" ставить.
В Вашем примере:
FileExists же работает, пока TimerG.Enabled = 1 ?
[DOUBLEPOST=1427964994,1427964801][/DOUBLEPOST]
Код:
Лучче использовать JS таймер. 
Он будет давить на кнопу, которая чекает и аттачит взад. 
var f = document.forms[0]; 
var intID = setInterval("f.КнопаЧек.click() ",1000); 
когда свершилось - глушим таймер: clearInterval(intID);
А чем лучше лотусскрипта?
JS таймер - это на яваскрипте сделать кнопку такую?
Смотреть в ней тоже на размер файла?
 

alexas1

Green Team
10.04.2014
1 185
218
BIT
18
и на форуме, и в хелпе рекомендуют в "Postopen Database Script" ставить.
Да нет, это не рекомендации - просто для примера и какой то определённости.
FileExists же работает, пока TimerG.Enabled = 1 ?
Да.
А чем лучше лотусскрипта?
Тем, что JS timer работает гораздо стабильнее (т.е. просто без проблем), а на LS есть свои подводные камни, напр. несколько одновременных LS таймеров будут работать просто "чудесно" ;)
JS таймер - это на яваскрипте сделать кнопку такую? Смотреть в ней тоже на размер файла?
На JS в клиенте в файловую структуру не залезешь. Смотреть на размер файла надо в кнопе, на которую давит JS из кнопы в которой запустили JS таймер.
 

seoman2

Green Team
17.02.2010
507
1
BIT
72
JS - он на кнопке "подписать" нажимает на кнопку на лотус-скрипте, которая наз-ся у Вас "КнопаЧек" ?
А "КнопаЧек" - при нажатии пытается с папочки приатачить файл?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
602
BIT
410
JS - он на кнопке "подписать" нажимает на кнопку на лотус-скрипте, которая наз-ся у Вас "КнопаЧек" ?
А "КнопаЧек" - при нажатии пытается с папочки приатачить файл?
угу и ЛС кнопку можно скрыть
[DOUBLEPOST=1427974378,1427974352][/DOUBLEPOST]или все кнопки можно скрыть
 

duchan

Green Team
20.09.2006
128
11
BIT
258
Суть размещать в PostOpenDatabase заключается в том что, данный код будет работать, пока открыта база, а код который запускается в форме, только пока открыта та форма из которой код вызывается. А теперь представте, что пользователь нажал в форме на кнопку "подписать" и управление вернулось к нему (заработал фоновый таймер) ну и пользователь поняв что тут ему больше нечего делать, просто закроет форму - всё таймер перестал работать (все процессы порожденные из открытой формы убиты) и проверятся на подписанность уже некому и некому файл подшить обратно в "лотус". Кончно и базу пользователь может закрыть.... так что тут момент тонкий, может лучше предупредить что процесс подписания может занять некоторое время и не отдавать управление пользователю пока не будет пописано - не красиво и заставляет ждать пользователя, НО зато надежно.
 

seoman2

Green Team
17.02.2010
507
1
BIT
72
Проблема такая, передаю в Shell переменную krip$, и не видится файл XMLname (хмлка с путем).

krip$ = |java -jar "C:\HTTPserver.jar" | + XMLname
Print krip$
kripto% = Shell("| + krip$ + |")
 

alexas1

Green Team
10.04.2014
1 185
218
BIT
18
Проблема такая, передаю в Shell переменную krip$, и не видится файл XMLname (хмлка с путем).

krip$ = |java -jar "C:\HTTPserver.jar" | + XMLname
Print krip$
kripto% = Shell("| + krip$ + |")
А если класть XML туда же, где HTTPserver.jar?
Кста, не понял конструкцию Shell("| + krip$ + |")
krip$ - уже строка
Shell( krip$ ) - не?
 
Последнее редактирование модератором:

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
602
BIT
410
я уже упоминал - можно написать плагин, и тогда - ожидание не будет мукой и не закроется треда
 

duchan

Green Team
20.09.2006
128
11
BIT
258
а что в XMLname? и не стоит ли то, что в XMLname, так же взять в кавычки, а то длинные пути с пробелами и всякое такое? :)
 

seoman2

Green Team
17.02.2010
507
1
BIT
72
С синтаксисом была проблема и передаваемыми параметрами.
надо было |C:\Prog...\java.exe -jar "C:\HTTPserver.jar" "|
Другой вопрос, запущен браузер, в нем в строке адреса:
как в него передать на порт http запрос?
 

rinsk

Lotus Team
12.11.2009
1 151
126
BIT
43
А почему бы запускать браузер прямо в нотес форме через IE Com ?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
602
BIT
410
я вот в упор не пойму - поднимается сервак, кот. через браузер отправляет запрос на криптование этому серваку?
причем сервак на java...
 

rinsk

Lotus Team
12.11.2009
1 151
126
BIT
43
я вот в упор не пойму - поднимается сервак, кот. через браузер отправляет запрос на криптование этому серваку?
причем сервак на java...
Ну а почему нет?:) Вполне нормально. При этом в качестве клиенского ПО выступает браузер, или с Activex Или java плагинами, которые работают с токенами и аналогичной фигней.
 
Мы в соцсетях:

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