Имя: Пароль:
IT
Админ
CryptoPro - подписать из Python
0 NorthWind
 
01.04.22
08:17
Добрый день!

Никто не пробовал сделать это из Python на Windows?
Под линь варианты есть, Крипо-про сделали библиотечку.
А вот как насчет Windows?
Пока единственное что придумалось - cryptcp вызывать.
1 NorthWind
 
01.04.22
08:23
может, кто пытался собрать pycades под Windows?
2 ДедМорроз
 
01.04.22
08:26
Так crypto pro умеет командную строку,поэтому,от системы не должно зависеть.
3 NorthWind
 
01.04.22
08:27
(2) я знаю, что умеет, но некошерно как-то. Лучше когда через библиотеку.
4 big
 
01.04.22
10:51
Объект драйвера CAdESCOM поможет решить вашу задачу. Да и здесь на форуме довольно много это обсуждали.

Вот здесь довольно удобная документация https://docs.cryptopro.ru/cades/
5 NorthWind
 
01.04.22
12:29
(4) Это тоже знаю. Из-под VBS я его вызывал за милую душу.
Но вот только из-под Python COM-объекты вызывать такое себе... там это настолько через попу сделано, что блаже уж экзешник с командной строкой запустить.
6 NorthWind
 
01.04.22
12:30
хотя, через import win32com.client, может, и ничего...
7 NorthWind
 
01.04.22
12:32
попробую так
8 ДедМорроз
 
02.04.22
01:15
Python вообще язык для другого.
Как бы,встроенные комплексные числа подразумевают.
Я,как бы,сам не большой любитель VbScript,но по части com ему замены нет - ведь,idispatch - это его родное.

Конечно,можно для python написать модуль на Си,где вызывать функции Crypto Pro нативно,но это будет уже слишком.

Опять же,чтобы вызвать командную строку без окна,нужно дергать Com-объект Shell.Application - это windows - тут или com или низкоуровневый API.

P.s. а может в сторону .Net глянуть или было задание - только на Python.
9 ДедМорроз
 
02.04.22
01:24
А в чем,кстати,такая проблема com в python.
По-мойму,вполне сносная реализация.
Даже красивее,чем в php (в последнем com понадобился,так как unicode in filename is a great trouble for php at windows platform).
10 ДедМорроз
 
02.04.22
01:28
И,оказывается,что python умеет в реестр windows лазить через Api без всякого com.
И,я так понимаю,что все,что можно написать на php,можно написать на python.
11 ДедМорроз
 
02.04.22
01:31
https://docs.cryptopro.ru/cades/pycades
И,кстати,есть еще такая вещь.
Можно вообще в сторону com плюнуть.
12 NorthWind
 
02.04.22
08:14
(11) это посмотрел в первую очередь. Вещь хорошая, но она реализована только для linux. Под крипто-про SDK Windows не собирается, там тупо не хватает некоторых файлов, и где их брать - непонятно. Впрочем, подозреваю что даже при их наличии запустить все это под виндой будет нетривиальным делом, потому что сами разработчики этого не делали и не предусматривали.
13 NorthWind
 
02.04.22
08:24
(8) в питоне штатно есть библиотеки практически под любые манипуляции в ИТ. И штатно есть списки и множества, благодаря чему написать, например, сравнивалку каталогов на FTP и локального можно за несколько строк простейшего кода. Описанная сложность с крипто-про скорее исключение, чем правило.
14 NorthWind
 
02.04.22
08:42
Задания нет. Есть проектик маленький, который 6 лет назад писался на vbs. В проектике используется встроенная БД access, разбирается xml, выполняется сетевое взаимодействие по FTP и подписываются файлы через cadescom. Примерно 50К кода. Проектик давно и успешно эксплуатируется. Хочется переписать его на питон с использованием более современных средств, в основном для того чтобы самому в них лучше вдуплить. Практической крайней необходимости нет, только для обучения.
15 NorthWind
 
02.04.22
09:57
(9) может, и нет проблемы никакой, просто плохая статья попалась. На выхах поразбираюсь что там к чему.
16 arsik
 
гуру
02.04.22
13:09
(0) Срочно нужен микросервис на Go.
17 NorthWind
 
02.04.22
18:59
все получилось через com. И это, чем дальше ковыряюсь в питоне, тем больше он мне нравится
18 ДедМорроз
 
02.04.22
20:35
Он мне не нравится только одним - его ставить надо.
Да и с web-сервером не как php.
JsOn на питоне работает классно - проще только в javascript,но таи он родной.
Механизм использования переменных очень похож на php,так как не нужно делать танцы с бубном для передаче по ссылке.

Я пока только с Raw-сокетами не разобрался - ping группы машин одновременно.

Ну и двоеточния после else очень напрягают - всегда забываю.

Однако,есть вещи,которые только на Си делаются,в частности ReadProcessMemory - на всех остальных языках очень нетривиально получается.
19 mingw
 
03.04.22
04:40
20 NorthWind
 
03.04.22
08:08
(19) это хрень все. PyCharm сам все это проставляет как нужно.
21 ДедМорроз
 
04.04.22
20:27
Что табы и пробелы искать,что открывающиеся и закрывающиеся скобки,что End-ы идентифицировать.
Если функция на несколько десятков экранов с макаронными условиями никакой язык программирования не спасет.
22 NorthWind
 
04.04.22
21:55
(21) с современными IDE это в целом не проблема. И чтобы добиться лучшей читаемости, нормальные люди и в других языках, мне кажется, ставили отступы как положено.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.