Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Евгений789  
#1 Оставлено : 7 октября 2021 г. 14:46:56(UTC)
Евгений789

Статус: Новичок

Группы: Участники
Зарегистрирован: 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
Online Андрей *  
#2 Оставлено : 7 октября 2021 г. 14:52:49(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,685
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2044 раз в 1585 постах
Здравствуйте.

сторонние утилиты извлекают бинарный файл или в base64?
если base64 - значит это и было... подписано.
Техническую поддержку оказываем тут
Наша база знаний
Online Андрей *  
#3 Оставлено : 7 октября 2021 г. 14:55:39(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,685
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2044 раз в 1585 постах
Автор: Евгений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..
Техническую поддержку оказываем тут
Наша база знаний
Offline Евгений789  
#4 Оставлено : 7 октября 2021 г. 14:57:05(UTC)
Евгений789

Статус: Новичок

Группы: Участники
Зарегистрирован: 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???


Вот такой текст на выходе.
Offline Евгений789  
#5 Оставлено : 7 октября 2021 г. 15:03:41(UTC)
Евгений789

Статус: Новичок

Группы: Участники
Зарегистрирован: 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 XƒgbXƒgb´  ÿÿ ÿÿ ÿÿ · |
|
# # # # #  ÿÿÿÿ 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 - 
 =
Online Андрей *  
#6 Оставлено : 7 октября 2021 г. 15:08:00(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,685
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2044 раз в 1585 постах
за ReadAllText отдельный котёл у программистов..
Какой текст? А если это doc, это текст?

Читать и подписывать нужно байты.
Техническую поддержку оказываем тут
Наша база знаний
Offline Евгений789  
#7 Оставлено : 7 октября 2021 г. 15:10:37(UTC)
Евгений789

Статус: Новичок

Группы: Участники
Зарегистрирован: 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'.
Online Андрей *  
#8 Оставлено : 7 октября 2021 г. 15:11:49(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,685
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2044 раз в 1585 постах
Цитата:

var file = File.ReadAllText(Path);
var signedCms = new SignedCms();
signedCms.Decode(Convert.FromBase64String(file));


а если в DER будет подпись?
Техническую поддержку оказываем тут
Наша база знаний
Online Андрей *  
#9 Оставлено : 7 октября 2021 г. 15:13:52(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,685
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2044 раз в 1585 постах
Автор: Евгений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
можно прочитать несколько первых байт и проверить, что на входе.
Техническую поддержку оказываем тут
Наша база знаний
Offline Евгений789  
#10 Оставлено : 7 октября 2021 г. 15:14:01(UTC)
Евгений789

Статус: Новичок

Группы: Участники
Зарегистрирован: 07.10.2021(UTC)
Сообщений: 9
Российская Федерация
Откуда: Ростов-на-Дону

Сказал(а) «Спасибо»: 2 раз
Не должно быть по идее. Так как правильно сделать?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.