Skip to content

privkey fails to read containers created by CryptPro 5.0 #1

Description

@hackomatic

Здравствуйте, во-первых, большое спасибо за Ваш труд, статья на Хабре и эта утилита очень помогают в понимании структуры контейнеров КриптоПро.

Однако, видимо в основном из-за максимально упрощенного кода по разбору asn1, privkey не смог прочитать у меня ни одного контейнера, созданного КриптоПро 5.0.

  1. из имеющихся у меня 4-х разных файловых контейнеров КриптоПро (для типов провайдеров 75, 80 и 81) утилита не смогла сконвертировать ни один из них.
  2. изучение исходников утилиты показало, что источником проблемы является то, что утилита читает открытый и закрытый ключи по фиксированным смещениям в файлах контейнера, однако проверяемые сигнатуры по проверяемым смещениям не совпадают с ожиданиями утилиты и как результат она отказывается работать.

После изучения файлов в моих контейнерах я изменил смещение, по которому читаются ключи и после этого 3 из 4 моих контейнеров успешно прочитались и закрытый ключ из них был экспортирован. Контейнер, который по-прежнему не смог прочитаться - это единственный контейнер для КриптоПро Strong, с длиной ключа 512 бит. Все контейнеры с ключами длиной 256 бит успешно прочитались.

Возможно ли добавить полноценный asn1 парсер в privkey или как-то иначе решить проблему с чтением контейнеров КриптоПро 5.0?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions