Есть сторонний сайт. На сайте есть 2 вида авторизации, обычная - логин-пароль и авторизация через ЭЦП.
Обычную я сделал, спокойно через curl авторизируюсь, сохраняю куки.
Хочу разобраться как реализовать авторизацию по ЭЦП. Я анализировал реквест в браузере, и вижу что передаются 2 параметра в виде хэша. Честно не очень разбираюсь в данной теме (хочу разобраться). Предположил что это отпечаток публичного ключа и центра аттестации.
Вероятно я дал не полную картину, поэтому готов дополнить нужной информацией по запросу.
Подскажите с чего начать нужно? У меня есть ключ ЭЦП, что дальше нужно сделать чтобы реализовать атворизацию по ЭЦП, в какую сторону копать. Сталкиваюсь с данным вопросом впервые и нет понимания как вообще устроена авторизация по ЭЦП.
Если касается российского ЭЦП, то скорей всего это квалифицированная ЭЦП, чаще всего работает через криптопро cpdn.cryptopro.ru/content/cades/phpcades.html
Может быть за компанию openssl. Сам ни разу такого не делал.
Думаю, что потребуется внимательно смотреть в JS на сайте и аналогичным методом поступать.
Как Вы будете получать доступ к ЭЦП тоже интересный вопрос
там когда через браузер авторизируешься, просит расширение поставить - Для корректной работы с сайтом рекомендуется скачать и установить плагин КриптоПро ЭЦП (CADESCOM) версии 2.0.12245
>>Как Вы будете получать доступ к ЭЦП тоже интересный вопрос
Сами ключ у меня на физи. ночителе находится, я так понимаю ключ будет лежать на сервере в защищенной дирректории и дальше уже работать с ним.
issssrt, как бы не пришлось на сервер тащить их серверную лицензию, которая под 40к рублей стоит.
Как насчет извратного варианта - работаем в браузере в винде через селениум, если не получается взаимодействовать с криптопрошным окном выбора эцп, пускаем тяжелую артиллерию типа AutoIT для эмуляции кликов мышью
Еще хороший вариант - у криптопро неплохой форум, задайте там вопрос. Задачка сильно специфичная, здесь шансов мало, что найдется специалист именно с таким опытом. Я всё больше жавистов встречал.
PrAw, я анализировал запросы в браузере, в момент авторизации по ЭЦП в реквесте 2 параметра:
certHash = хэш публичного ключа (я только полагаю, может неправ)
digitalSign= хэш центра аттестации (я только полагаю, может неправ)
Если я эти параметры в curl передаю, то авторизация срабатывает. Так все работает. Тестировал несколько дней, эти параметры не менялись (я просто подозревал что они динамичные). надеюсь они до конца срока жизни сертификата.