Просмотр полной версии : Автоматизация работы с ЭЦП в браузере
nofantasy
31.01.2013, 19:47
Приветствую.
Есть некий веб-сервис, в котором определённые действия пользователя должны быть подтверждены его ЭЦП (используя плагин к браузеру chrome/firefox/opera).
Задача стоит в автоматизации части этих действий - в частности нажимания на кнопку "сделать определённое дейтствие" на странице сервиса и последующей кнопки "да" в появившемся окне "подписать данное действие эцп?".
Впервые сталкиваюсь с такой задачей, поэтому даже не знаю с какой стороны подходить к решению проблемы.
XSS - не вариант.
Если писать приложение - то проблема дойти вообще до того момента, когда понадобится автоматизация.
Автоматизация браузера через Selenium - тоже проблематично.
Разве что через консоль фаербага в фаерфоксе?
Что скажете?
Лучше эмулировать не действия нажатия в браузере, а запросы к серверу, однако. Если это бинарный плагин, достать исходный код будет достаточно сложно, т.к. запросы могут отправляться в зашифрованном виде.
Попробуйте посмотреть, какие запросы передаются через WireShark и Chares(Настройте перехват SSL), почитайте о механизмах ЭЦП.
Если подпись запрашивается только один раз, то не проблема написать небольшой JS скрипт. Адрес сайта в студию.
nofantasy
01.02.2013, 12:12
XAMEHA said:
Лучше эмулировать не действия нажатия в браузере, а запросы к серверу, однако. Если это бинарный плагин, достать исходный код будет достаточно сложно, т.к. запросы могут отправляться в зашифрованном виде.
http://www.cryptopro.ru/products/cades/plugin
Эмулировать запросы к серверу - да, проще, но какими средствами?
XAMEHA said:
Попробуйте посмотреть, какие запросы передаются через WireShark и Chares(Настройте перехват SSL), почитайте о механизмах ЭЦП.
О механизмах ЭЦП много читал, но как оно работает в данном конкретном случае - вопрос.
Да, посмотрю при возможности. Пока что вооружался только fiddler'ом.
XAMEHA said:
Если подпись запрашивается только один раз
Нет, не один раз, а каждый раз при нужном мне действии.
XAMEHA said:
не проблема написать небольшой JS скрипт.
И что с ним потом делать? Попросить администраторов сайта выложить его у себя?
Есть много таких веб - сервисов, запрашивающие ЭЦП. Госсзакупками занимаешься??? Мой совет положи перед собой удостоверение личности и переходи к онлайн регистрации ЭЦП.
Есть вероятность что тебе поможет планирую для лисы iMacros
altblitz
12.04.2013, 20:18
реклама с троллингом наполовину.
первое - сам сайт не имеет сертификата SSL/TSL,
и при подключении к https://www.cryptopro.ru
Code:
Secure Connection Failed
An error occurred during a connection to www.cryptopro.ru. Unrecognized Object Identifier. (Error code: sec_error_unrecognized_oid)
The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
второе - Создание и проверка подписи происходят на стороне пользователя.
кретинизм.
подпись пользователя подписывается сайтом, с аутентификацией и авторизацией crypto base authorities.
nofantasy
14.04.2013, 01:02
altblitz said:
реклама с троллингом наполовину.
Что за параноидальный бред?
altblitz said:
второе -
Создание и проверка подписи происходят на стороне пользователя.
кретинизм.
подпись пользователя подписывается сайтом, с аутентификацией и авторизацией crypto base authorities.
"подпись пользователя подписывается сайтом"?
Пользователь зашифровывает данные при помощи яваскриптовой функции, после чего эти данные вместе с остальными отсылаются в виде пост-запроса на сервер.
Вся эта схема видна, достаточно открыть исходный код интересующей страницы.
К слову, удалось поковыряться внутри. Даже написал и протестировал небольшой скрипт.
Упёрся примерно вот в такой код:
selectCert(function(){
var signMessage = "блаблабла, вы уверены и всё такое?";
if (!confirm(signMessage)) exit; // эта строка убирается нафиг
var sign = Sign(signMessage, false);
// отправка запроса на сервер
);
Объясню: selectCert вызывает окошко (фактически — div c нарисованным текстом и кнопками "ok"/"cancel"), в котором надо выбрать нужный сертификат, после чего, если нажато "ок", вызывается коллбек с отправкой данных на сервер.
а вот как обойти эту хрень, чтобы отправка данных на сервер не требовала каждый раз нажатия руками на "ok"?
Я так понимаю, эта функция — из плагина к браузеру, потому как среди подключённых к странице js–скриптов я её не нашёл.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot