Статус: Участник
Группы: Участники
Зарегистрирован: 09.11.2020(UTC) Сообщений: 10 Откуда: СПБ Сказал(а) «Спасибо»: 3 раз
|
Добрый день. Сразу скажу, что в сертификатах, подписях, шифровании я - нуб. Поэтому, возможно, элементарная скорее всего задача ставит меня третий день в тупик. Поэтому пишу сюда - вдруг кто поможет. Для работы с API "Честный знак" требуется токен. Чтобы его получить, необходимо "подписать" строку, которую он выдает при отправке запроса на авторизацию, а затем отправить ее в тебе запроса POST обратно. Тогда вернётся токен и можно будет некоторое время использовать его API. Проблема именно в "подписании" этой строки програмно (не через плагин браузера). Работать в результате должно на виндовом сервере, сейчас разработку веду под Win10. Сертификат присутствует, через плагин браузера строка авторизации подписывается и затем воспринимается API ЧЗ. Т.е. тут всё ок. Путем гугления и изучения сайта Крипто-Про я набрел на руководство разработчика - http://cpdn.cryptopro.ruОттуда я пробовал сначала примеры из "КриптоПро ЭЦП (Интерфейс COM)". Но не продвинулся из-за ошибки (при присвоении объекту CAdESCOM.CPSigner свойства Certificate ошибка "Член группы не найден. (Исключение из HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND)" Затем я пробовал собрать программу на примерах из "КриптоПро.NET". Там строка как-то подписывается, но результат на выходе очень сильно отличается от того, что возвращает браузер... Направьте меня плз, в какую сторону мне копать, чтобы получить наконец от ЧЗ токен. Я просмотрел "по-диагонали" этот форум, но есть сообщения, которые датируются 12-летней давностью, 5-летней... Не понятно, какой API сейчас актуальный, актуальны ли примеры из документации разработчика. Спасибо!
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,319 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
Здравствуйте. Автор: dmyudin Затем я пробовал собрать программу на примерах из "КриптоПро.NET". Там строка как-то подписывается, но результат на выходе очень сильно отличается от того, что возвращает браузер... И не проверили, принимает ли ЧЗ такой вариант...? Разница - из-за цепочки сертификатов, к примеру, если речь о размере. И всегда будет разная подпись для одного и того же набора байт на подпись - это специфика ГОСТ-а. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.11.2020(UTC) Сообщений: 10 Откуда: СПБ Сказал(а) «Спасибо»: 3 раз
|
Не проверял. Слишком разные наборы символов. Плагин возвращает набор строк, состоящих из латинских символов. plugin_sign.png (36kb) загружен 25 раз(а).Программа на NET возвращает кириллицу вперемешку с знаками вопроса и проч. program_sign.png (28kb) загружен 25 раз(а).
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,319 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
Автор: dmyudin Не проверял. Слишком разные наборы символов. Плагин возвращает набор строк, состоящих из латинских символов. plugin_sign.png (36kb) загружен 25 раз(а).Программа на NET возвращает кириллицу вперемешку с знаками вопроса и проч. program_sign.png (28kb) загружен 25 раз(а). Плагин дополнительно кодирует ЭП в base64. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.11.2020(UTC) Сообщений: 10 Откуда: СПБ Сказал(а) «Спасибо»: 3 раз
|
То есть путь через КриптоПро.Net правильный и я просто забыл закодировать в base64?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,319 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
Автор: dmyudin То есть путь через КриптоПро.Net правильный и я просто забыл закодировать в base64? Предлагаю закодировать и отправить, в API от ЧЗ есть подробности про формат, который ожидает сервис (DER\BASE64, присоединенная\отсоединенная). |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 09.11.2020(UTC) Сообщений: 10 Откуда: СПБ Сказал(а) «Спасибо»: 3 раз
|
Спасибо. Это сработало. Значит КриптоПро.NET - это правильный путь.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.12.2020(UTC) Сообщений: 3 Сказал(а) «Спасибо»: 1 раз
|
Добрый день, подскажите какие варианты возможны при получении токена доступа в честный знак. Нужно получить у них список документов. Может у кого то есть готовое решение на Delphi? Не понимаю через что и как я должен подписать запрос
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,319 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
Автор: Алексей Волгоград Добрый день, подскажите какие варианты возможны при получении токена доступа в честный знак. Нужно получить у них список документов. Может у кого то есть готовое решение на Delphi? Не понимаю через что и как я должен подписать запрос Варианты: CAdESCOM (установить, если нет), CAPICOM (если нет в ОС - установить), MS CryptoAPI 2.0 Через COM-интерфейсы - самый быстрый вариант реализации, импортировать и получить описание. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.12.2020(UTC) Сообщений: 3 Сказал(а) «Спасибо»: 1 раз
|
А чисто случайно нет примера на Delphi?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close