Криптография Расшифровка с помощью сертификата

1. nightowl 27.03.21 10:56 Сейчас в теме
Добрый день!
Может кто решал вопрос.
Как "привязать" данные для расшифровки к сертификату. Так как данные приходят без сертификата, а если есть сертификат на клиенте, то как расшифровать?
МенеджерКриптографии.Расшифровать(Данные);

Ошибка при получении свойства сертификата (0x00000000)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. uno-c 235 27.03.21 15:41 Сейчас в теме
Сталкивался с подобным, приходили подписанные данные, но подпись была без указания сертификата подписанта. Т.е. автоматом было непонятно, какой сертификат нужно использовать. Разбирал ASN-1, т.к. там и подпись-то проверять не нужно было - сами исходные данные подписанные только вытянуть. А Вам либо разбирать файл подписи и собирать назад с указанием получателя шифровки - чтобы МенеджерКриптографии сработал. Либо посмотреть - может через COM можно криптопровайдеру объяснить, чего от него требуется (CADESCOM например). Криптопровайдер какой используется при шифровании/дешифровании?
3. nightowl 28.03.21 16:30 Сейчас в теме
(2) КриптоПро. Спасибо за ответ.
А если известно, сам сертификат, то как объединять?
4. uno-c 235 28.03.21 18:26 Сейчас в теме
(3) На уровне двоичных данных. Нужно знать, какая структура у зашифрованного файла, когда все идет в одном конверте - и зашифрованные данные, и получатели. И воспроизвести эту же структуру.
7. uno-c 235 28.03.21 18:48 Сейчас в теме
(4) Структуру файлов можно посмотреть в АСН-1 декодере https://www.lapo.it/asn1js/
Взять файл, в котором только шифровка без указания получателей, и файл, в котором шифровка вместе с получателем - сравнить структуру. Почитать про DER/BER кодировку - чтобы понятно было, как декодер эти файлы разобрал. И потом зная, как устроена кодировка, собрать конверт шифровка+получатель.
5. uno-c 235 28.03.21 18:35 Сейчас в теме
https://cpdn.cryptopro.ru/content/csp39/html/group___capicom_example_CapicomEnvelop­.html
Вот тут смотрю при шифровании делают EnvelopedData.Recipients.Add Recipient
При расшифровке делают EnvelopedData.Decrypt(Message)
Надежда маленькая, но может быть если перед EnvelopedData.Decrypt добавить в EnvelopedData получателя - то вдруг прокатит. С двоичными данными наверно дольше ковыряться - чтобы нужный конверт собрать, который МенеджерКриптографии сможет расшифровать.
CADESCOM (с КриптоПро идет) и CAPICOM (в старых виндах был встроен) - интерфейсы аналогичные https://cpdn.cryptopro.ru/content/cades/cadescom.html
6. uno-c 235 28.03.21 18:38 Сейчас в теме
(5) Это я вообще к тому, что есть вариант без менеджера криптографии попробовать - с помощью COM интерфейса, который предоставляет КриптоПрошный CADESCOM.
8. nightowl 30.03.21 07:54 Сейчас в теме
(4)(5)(6)
Спасибо за подробный рассказ. Буду пробывать.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот