Как правильно проверить ЭП в Java?

166
20 ноября 2017, 17:34

У меня есть 2 файла - файл подписи(PKCS7) и файл, который был этой подписью подписан. Мой вопрос заключается в том, как можно проверить, что подпись действительно относится к этому файлу? Я думаю тут такая последовательность действий..:

  1. Проверяем не истек ли срок действия сертификата
  2. Проверяем все ли нормально с УЦ
  3. Проверяем не отозван ли публичный ключ подписанта
  4. И, наконец, достаем хеш из файла(именно достаем по коду внутри файла, а не получаем от всего файла) и сравниваем его с хешем подписанного файла, если все хорошо - проверка прошла.

Поправьте меня, если я не прав.. У меня вот только один вопрос - как все это реализовать в Java? Нашел хорошую библиотеку Bouncy Castle, только вот пользоваться ей дальше, кроме кода ниже, не нашел.

CMSSignedData pkcs7 = new CMSSignedData(bytesArray)

Там есть прикольные методы, типо пробежаться по сертификату, получить какие-нибудь данные по OI, но самой проверки я что-то найти не могу. Аж самому пришлось метод isBetween писать, который проверяет не истек ли сертификат. А как уж реализовать пункты 2 и 3 я уж совсем не представляю... Помогите, люди добрые.

READ ALSO
Google Maps API Zoom and bounds

Google Maps API Zoom and bounds

Добрый вечер! Как сделать фичу : получаю список меток с сервера и надо что бы камера перешла к нимНапример 2 метки - Москва и Питер и камера...

158
Задержка перед выполнением слушателя. Android

Задержка перед выполнением слушателя. Android

Необходимо немного оптимизировать запросы в приложении Android и разгрузить процессор

159
как добавить методы в HashMap (Phone Book

как добавить методы в HashMap (Phone Book

Пишу программу Телефонная книга и не получаются следующие методыHashMap у меня состоит из класса Юзер и сета Контактов (с номерами телефонов...

149
Циклическая зависимость maven модулей!

Циклическая зависимость maven модулей!

есть несколько модулей в maven

190