Задать вопрос

Как сформировать дайджест?

Есть следующая инструкция.
Не могу разобраться.


Заголовки запросов
Заголовок X-Signature
Электронная подпись запроса
Для авторизации запросов терминала и установления авторства, в протоколе используются асимметричные криптоалгоритмы с закрытым и открытым ключом:

ECDSA prime256v1
RSA 1024
RSA 2048
Для формирования дайджеста сообщения используется хэш-функция SHA256. Закрытый ключ генерируется на стороне терминала и сохраняется в крипто-хранилище. Открытый ключ передается в ПЦ Sendy при прохождении процедуры активации терминала.

Формирование Электронной Подписи (ЭП)
Тело передаваемого POST запроса преобразуется в дайджест (хэш) через алгоритм SHA256 и передается в выбранный крипто-алгоритм. Полученная ЭП должна быть в формате DER (asn.1 сериализованная структура) с данными об использованном крипто-алгоритме. Далее бинарная ЭП преобразуется в base64 последовательность и передается в заголовок запроса в параметр "X-Signature".


Затык вот здесь
Полученная ЭП должна быть в формате DER (asn.1 сериализованная структура)


Мои шаги для достижения цели:

1. Тело передаваемого POST прогоняю через алгоритм SHA256
Получаю строку вида
f5dcbf42be3cf18a87a0fd5127aabd8f5bcc78e96cb1811c0af3c687f350696a


2. Далее полученную строку на предыдущем этапе, передаю в алгоритм ECDSA prime256v1

Подпись тела запроса
MEUCIQCCvqg9R1ncDq7aJeSgkjmp7yx50Bm48pCz6CAflWqtyQIgf7A71sv5kK0dEkN1lR/bHQNLaPk0ex2nlCs/brDT+1Q=

Подпись тела запроса в base 64
MEUCIEfwIA7UE1OJAlEaSyD46+0POQwy8C4lywlwiS7+SItvAiEAqcwVwcwkRy7sPngLvarshHLoEHHD/QoJZHEwq67Ccm4=

Далее я потух...

Как выглядит этот самый DER (asn.1 сериализованная структура)?
  • Вопрос задан
  • 116 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@lubezniy
ASN.1 - формат бинарный. А строка из первого пункта приведена в hex. Возможно, её следует декодировать из hex, а затем уже передавать далее. Ну и подпись тела запроса уже идёт в base64, второй раз её кодить вряд ли стоит.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы