descriptionОписание
Нужно довести до готовности бота.
Готов бот, для подачи заявки на портал госзакупок, через HTTP запросы (без отрисовки интерфейса на уровне http запросов). Он сделана на пайтон.
С помощью асинхронного стека (aiohttp, asyncio) и подписи CMS через PKCS#11.
Состоит в том задача, что бы автоматизировать его и подавать заявку на участие в конкурсах на уровне HTML запросов, а не на уровне браузера (все должно работать под капотом)
И требуется сделать все до готовности авторизации по ЭЦП (электронно-цифровая подпись файл формата p12, ,будет предоставлен) и весь пайплайн подачи заявки.
На данный момент имеется :
- Готов бот от на aiohttp/asyncio, уже воспроизводит HTTP-флоу портала (есть HAR-файл с реальными запросами/ответами).
- Есть криптопровайдер: скачали Tumar CSP. Ключ ЭЦП в формате PKCS#12 (.p12) импортируются в профиль Tumar; контейнер создаётся, но бот его не видит, так как бот обращается к контейнеру для подписи!
- Вот сейчас загвоздка в PKCS#11-уровень: при работе получаем ошибки вида pkcs11.exceptions.SessionHandleInvalid при открытии/логине сессии и перечислении объектов, даже авторизацию на портал не проходим.
Задачи которые нужно решить :
- Сделать PKCS#11 интеграция с Tumar CSP (скачаете TumarCSP в интернете).
- Нужно корректно подключить PKCS#11-библиотеку Tumar (возможно это не cptumar.dll из CSP, а именно PKCS#11-модуль; путь должен задаваться в config/pkcs11.yaml и/или через P11_LIB).
Далее авторизация на портале и подача заявок:
- Нужно восстановить цепочку авторизацию и дальнейшие шаги подачи заявки (по HAR либо по сценарию, который я предоставлю).
- Сделать до готовности весь сценарий подачи до идеала (выбор конкурса, формирование лотов, одновременная подпись всех приложений, финальная подача заявки).
Для работы вы должны иметь опыт и умения работать с python 3.x (asyncio/aiohttp), PKCS#11 (python-pkcs11/PyKCS11), работа с ГОСТ-криптографией и CMS/CAdES на Windows.
- Иметь понимание различий CSP vs PKCS#11 у Tumar, умение подобрать корректный PKCS#11-модуль и параметры.
- Иметь умение «читать» HAR и переводить браузерные флоу в чистый HTTP.
- Важна аккуратность с безопасностью.
Для работы вам будет предоставлено :
- исходник проекта
- так же HAR-файл, то есть всю "протоптанную дорожку" на примере успешной подачи заявки, оттуда возьмете post get запросы для подачи заявки.
- и будет текстовой сценарий для подачи заявки если потребуется.