Статус: Новичок
Группы: Участники
Зарегистрирован: 07.10.2021(UTC) Сообщений: 9 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 2 раз
|
Здравствуйте! Есть файл sig в нем содержится контент. Я пытаюсь его вытащить и сформировать файл doc.
var file = File.ReadAllBytes(Path); var signedCms = new SignedCms(); signedCms.Decode(Convert.FromBase64String(file));
Encoding unicode = Encoding.Unicode; string msgBytes = unicode.GetString(signedCms.ContentInfo.Content);
Подскажите, что я делаю не так? Ибо в msgBytes лежит много данных типа base64
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Здравствуйте.
сторонние утилиты извлекают бинарный файл или в base64? если base64 - значит это и было... подписано. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: Евгений789 Здравствуйте! Есть файл sig в нем содержится контент. Я пытаюсь его вытащить и сформировать файл doc.
var file = File.ReadAllBytes(Path); var signedCms = new SignedCms(); signedCms.Decode(Convert.FromBase64String(file));
Encoding unicode = Encoding.Unicode; string msgBytes = unicode.GetString(signedCms.ContentInfo.Content);
Подскажите, что я делаю не так? Ибо в msgBytes лежит много данных типа base64 signedCms.ContentInfo.Content = byte[] почему бы не использовать... File.WriteAllBytes( .. Content ..) зачем GetString...Unicode.. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 07.10.2021(UTC) Сообщений: 9 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 2 раз
|
Автор: Андрей * Здравствуйте.
сторонние утилиты извлекают бинарный файл или в base64? если base64 - значит это и было... подписано. ????>♥? ♠☻???☺???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????AeЙ?????♫????Й▬??????↕?☼?☼?☼·???????¶?????8?<?t????????????☻??????$???H?!???????????J?▬????^??????????E?I???????u???R?→?¶?0??l?О назначении уполномоченных лиц, ответственных за обмен электронными документами в системе электронного документооборотаВ целях обеспечения безопасности передачи информации в государственные органы в электронном виде, в рамках взаимодействиНазначить уполномоченными лицами (Абонентами). ???????????????????????*??????????????????????????????????????▬?☻?☻?☻?▬??a?????????▬?☻?☻?☻?▬??a?????????▬?☻?☻?☻?▬??a?????????▬?☻?☻?☻?▬?????????▬?☻?☻??????????§???▬?☻?☻???????§???▬?☻?☻???????????▬?☻?☻???????§?????????☻?▬??§?j??§?C????????????????u?o?e??? Вот такой текст на выходе.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 07.10.2021(UTC) Сообщений: 9 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 2 раз
|
Автор: Андрей * Автор: Евгений789 Здравствуйте! Есть файл sig в нем содержится контент. Я пытаюсь его вытащить и сформировать файл doc.
var file = File.ReadAllBytes(Path); var signedCms = new SignedCms(); signedCms.Decode(Convert.FromBase64String(file));
Encoding unicode = Encoding.Unicode; string msgBytes = unicode.GetString(signedCms.ContentInfo.Content);
Подскажите, что я делаю не так? Ибо в msgBytes лежит много данных типа base64 signedCms.ContentInfo.Content = byte[] почему бы не использовать... File.WriteAllBytes( .. Content ..) зачем GetString...Unicode.. Без кодировки, если написать что то вроде var file = File.ReadAllText(Path); var signedCms = new SignedCms(); signedCms.Decode(Convert.FromBase64String(file)); File.WriteAllBytes(@"C:\Yaroslav\1.txt", signedCms.ContentInfo.Content); то вообще нет понятного текста, только символы в непонятной кодировке Џࡱᠠ > þÿ ¢ þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ쥁 e ø¿ bjbj:麩 4B XgbXgb´ ÿÿ ÿÿ ÿÿ · | | # # # # # ÿÿÿÿ 7 7 7 8 o < « t 7 傠 S S S XB ZB ZB ZB ZB ZB ZB $ DŽ ¶ }G & ~B ! # S S S S S ~B # # 4 B ? ? ? S ^ # # XB ? S XB ? ? 9 ̠ ; ÿÿÿÿ ԋ÷ûց ÿÿÿÿ ± R L: DB µB 0 傠 f: : £H j £H 4 ; ; T £H # ��P S S ? S S S S S ~B ~B m ҁ S S S 傠 S S S S ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ ÿÿÿÿ £H S S S S S S S S S | m 陠 : ! / 0 7 . 1 2 . 2 0 2 0 !4 9 5 1 - =
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
за ReadAllText отдельный котёл у программистов.. Какой текст? А если это doc, это текст?
Читать и подписывать нужно байты.
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 07.10.2021(UTC) Сообщений: 9 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 2 раз
|
Если писать так и считывать байты: var file = File.ReadAllBytes(Path); var signedCms = new SignedCms(); signedCms.Decode(file);
То в строке signedCms.Decode(file); падает ошибка System.Security.Cryptography.CryptographicException: 'ASN1 corrupted data.' AsnContentException: The provided data is tagged with 'Application' class value '13', but it should have been 'Universal' class value '16'.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Цитата: var file = File.ReadAllText(Path); var signedCms = new SignedCms(); signedCms.Decode(Convert.FromBase64String(file));
а если в DER будет подпись? |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: Евгений789 Если писать так и считывать байты: var file = File.ReadAllBytes(Path); var signedCms = new SignedCms(); signedCms.Decode(file);
То в строке signedCms.Decode(file); падает ошибка System.Security.Cryptography.CryptographicException: 'ASN1 corrupted data.' AsnContentException: The provided data is tagged with 'Application' class value '13', but it should have been 'Universal' class value '16'.
значит перед этим должна быть функция, которая проверяет входящий файл, der или base64 можно прочитать несколько первых байт и проверить, что на входе. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 07.10.2021(UTC) Сообщений: 9 Откуда: Ростов-на-Дону Сказал(а) «Спасибо»: 2 раз
|
Не должно быть по идее. Так как правильно сделать?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close