Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Denisekat  
#1 Оставлено : 17 ноября 2022 г. 12:45:04(UTC)
Denisekat

Статус: Активный участник

Группы: Участники
Зарегистрирован: 30.08.2022(UTC)
Сообщений: 34

Сказал(а) «Спасибо»: 7 раз
Добрый день всем кого так же затронул этот вопрос!

Поручили реализовать на региональном портале авторизацию через госуслуги по средствам ЕСИА.
Собственно мой бэкграунд по работе с криптографией и ЭЦП где-то в районе плинтуса, но кому-то надо, поэтому.

Поднимаем контейнер с Debian[11] и python[3.8]. Ставим КриптоПро выбрав нужный - инструкция. Устанавливаем сертификаты - проверяем доступны ли. КриптоПро потом всплывет, но пока без него.

WEB-сервис на python живет в докере на линуксе поэтому логично было бы использовать готовое решение, но она рассчитана на ковыряние в opensll конфиге и подкладыванием в него гостовских движков(engine).
Код:
'openssl smime -sign -md md_gost12_256 -signer {cert} -inkey {key} -outform DER'

Почему нас это не устраивает? Потому что это моветон и современный openssl(1.1.1) умеет в ГОСТ(верно же, умеет?) - надо просто накатить его сверху(?). Ан нет, у меня OpenSSL 1.1.1n 15 Mar 2022 и smime: Unrecognized flag md_gost12_256. Ладно, потому что мы на форуме КриптоПро.

Сразу оговорюсь, что самый сок, то, как в формируемый URL на ЕСИА запихнуть корректный secret_client.

Но мы же на форуме КриптоПро и у них есть утилиты с которыми можно работать из командной строки.
Поэтому родилась надстройка над оригинальной библиотекой.
Там сразу прыгаем в utils и смотрим: работа с 'm2crypto'(отдельный квест по установке(в win?) - особый шик в век pip), работа с openssl(ну, то же, что и выше) и подпись параметров через cryptcp! Бинго!
Код:
"cryptcp -signf -norev -dir {tmp_dir} -der -strict -cert -detached -thumbprint {thumbprint} -pin '{password}' {f_in} 2>&1 >/dev/null"

Получаем длиннющую ссылку(если secret_client не сформировался то этот параметр будет пустым - нужно разбираться что не так) переходим, вбиваем данные в госуслуги и...

Получаем белую страницу по названием do. Ни ошибки, ни scope.
Куда смотреть?
Помогите добить вопрос чтоб инструкция в одном месте собралась.
Offline Санчир Момолдаев  
#2 Оставлено : 24 ноября 2022 г. 11:17:29(UTC)
Санчир Момолдаев

Статус: Сотрудник

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,040
Российская Федерация

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 226 раз в 213 постах
попробовать pycades?
Техническую поддержку оказываем тут
Наша база знаний
Offline EgorKenk  
#3 Оставлено : 27 ноября 2023 г. 12:00:31(UTC)
EgorKenk

Статус: Участник

Группы: Участники
Зарегистрирован: 25.08.2023(UTC)
Сообщений: 21
Российская Федерация
Откуда: Ставрополь

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Автор: Denisekat Перейти к цитате
Добрый день всем кого так же затронул этот вопрос!

Поручили реализовать на региональном портале авторизацию через госуслуги по средствам ЕСИА.
Собственно мой бэкграунд по работе с криптографией и ЭЦП где-то в районе плинтуса, но кому-то надо, поэтому.

Поднимаем контейнер с Debian[11] и python[3.8]. Ставим КриптоПро выбрав нужный - инструкция. Устанавливаем сертификаты - проверяем доступны ли. КриптоПро потом всплывет, но пока без него.

WEB-сервис на python живет в докере на линуксе поэтому логично было бы использовать готовое решение, но она рассчитана на ковыряние в opensll конфиге и подкладыванием в него гостовских движков(engine).
Код:
'openssl smime -sign -md md_gost12_256 -signer {cert} -inkey {key} -outform DER'

Почему нас это не устраивает? Потому что это моветон и современный openssl(1.1.1) умеет в ГОСТ(верно же, умеет?) - надо просто накатить его сверху(?). Ан нет, у меня OpenSSL 1.1.1n 15 Mar 2022 и smime: Unrecognized flag md_gost12_256. Ладно, потому что мы на форуме КриптоПро.

Сразу оговорюсь, что самый сок, то, как в формируемый URL на ЕСИА запихнуть корректный secret_client.

Но мы же на форуме КриптоПро и у них есть утилиты с которыми можно работать из командной строки.
Поэтому родилась надстройка над оригинальной библиотекой.
Там сразу прыгаем в utils и смотрим: работа с 'm2crypto'(отдельный квест по установке(в win?) - особый шик в век pip), работа с openssl(ну, то же, что и выше) и подпись параметров через cryptcp! Бинго!
Код:
"cryptcp -signf -norev -dir {tmp_dir} -der -strict -cert -detached -thumbprint {thumbprint} -pin '{password}' {f_in} 2>&1 >/dev/null"

Получаем длиннющую ссылку(если secret_client не сформировался то этот параметр будет пустым - нужно разбираться что не так) переходим, вбиваем данные в госуслуги и...

Получаем белую страницу по названием do. Ни ошибки, ни scope.
Куда смотреть?
Помогите добить вопрос чтоб инструкция в одном месте собралась.


Здравствуйте! Удалось ли вам решить данную проблему с подписью? И если удалось, то как?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.