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

Pygost, парсинг открытого ключа из сертификата. Неправильный ключ?

5d1de600a16cd689760014.png Я могу пропарсить сертификат и извлечь оттуда открытый ключ. Но попытки проверить подпись, сделанную этим сертификатом, дают отрицательный результат - значения не совпадают. Я полагаю, что это может происходить из-за:
  • Неправильно извлечен ключ
  • Неправильно выбраны параметры эпилептической кривой (Прогнал все возможные варианты, вряд ли оно)
  • Неправильно извлечена подпись

Соответственно несколько вопросов:
  • Что это за избыточные байты 04 40? Они есть во всех сертификатах, но остальные части открытых ключей разные. Нужно ли их учитывать и нужно ли дополнительно преобразовывать ключ, если он после парсинга имеет тот же вид, что и в окне на изображении:b'\x80\x8b\x73...' (без учета байтов 04 40)
  • Длина ключа без них 64 байта, с ними - 66. В программе проверки подписи pygost ключ разбивается на 2 части, т.е. на 2 по 256 байт (в моем случае вариант ГОСТ Р 34.10-2012 256)

  • Если открыть .sig файл, то самые последние его 64 байта (512 бит) и есть подпись, по идее ошибки в этом нет

5d1dea7b1803e637249629.png
Работаю с тестовыми сертификатами https://dss.cryptopro.ru/Frontend/Certificates/List/
  • Вопрос задан
  • 581 просмотр
Подписаться 2 Сложный Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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