Добрый день. Пользуюсь программой Технокад-Экспресс, которая работает с ЭЦП, выданным «УЦ Технокад».
Стоит задача подписать файл этой подписью в своей программе: для бинарного файла создать имя_файла.sig, который будет являться его валидной цифровой подписью
В криптографии я полный ноль, не знаю с чего начать, чтобы побыстрее разобраться с даным вопросом.
Что известно о предмете:
1) Язык программирования: C#
2) Технокад-Экспресс использует программу Крипто-ПРО для работы с сертификатами
3) Сайт-получатель использует что-то вроде CAPICOM для работы с ЭЦП
4) ЭЦП хранится в реестре
5) Экспортированная на флешку ЭЦП состоит из файлов: header.key masks.key masks2.key name.key primary.key primary2.key
6) Стандарт подписи PKCS#7, кодировка DER
7) Информация из документации: Расчет хэш-сумм ГОСТ Р 34.11-94
www.w3.org/2001/04/xmldsig-more#gostr3411
Формирования подписи ГОСТ Р 34.10-2001
www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411
Каноникализация Exclusive XML Canonicalization от 18 July 2002
www.w3.org/2001/10/xml-exc-c14n#
Скачал
библиотеку BouncyCasle, пытаюсь разобраться в ней. Смущает, что там реализован не PKCS#7, а PKCS#12, эти стандарты обратно совместимы?
Подскажите, пожалуйста, в какую сторону следует копать, какие-нибудь сайты с примерами?