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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
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
Offline Андрей *  
#2 Оставлено : 7 октября 2021 г. 14:52:49(UTC)
Андрей *

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

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

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

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

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

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

Сказал «Спасибо»: 393 раз
Поблагодарили: 1611 раз в 1238 постах
Автор: Евгений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 - 
 =
Offline Андрей *  
#6 Оставлено : 7 октября 2021 г. 15:08:00(UTC)
Андрей *

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

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

Сказал «Спасибо»: 393 раз
Поблагодарили: 1611 раз в 1238 постах
за 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'.
Offline Андрей *  
#8 Оставлено : 7 октября 2021 г. 15:11:49(UTC)
Андрей *

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

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

Сказал «Спасибо»: 393 раз
Поблагодарили: 1611 раз в 1238 постах
Цитата:

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


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

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

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

Сказал «Спасибо»: 393 раз
Поблагодарили: 1611 раз в 1238 постах
Автор: Евгений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 раз
Не должно быть по идее. Так как правильно сделать?
Offline Евгений789  
#11 Оставлено : 7 октября 2021 г. 15:14:44(UTC)
Евгений789

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

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

Сказал(а) «Спасибо»: 2 раз
Но в любом случае, сейчас и с base64 не работает
Offline Андрей *  
#12 Оставлено : 7 октября 2021 г. 15:16:03(UTC)
Андрей *

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

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

Сказал «Спасибо»: 393 раз
Поблагодарили: 1611 раз в 1238 постах
исходный файл sig можно увидеть (ссылкой\в ЛС)?
Техническую поддержку оказываем тут
Наша база знаний
Offline Евгений789  
#13 Оставлено : 7 октября 2021 г. 15:25:28(UTC)
Евгений789

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

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

Сказал(а) «Спасибо»: 2 раз
Может в телеграмм вам сброшу? Тут не дает прикрепить?
Offline Андрей *  
#14 Оставлено : 7 октября 2021 г. 15:34:05(UTC)
Андрей *

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

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

Сказал «Спасибо»: 393 раз
Поблагодарили: 1611 раз в 1238 постах
в присланном:

-----BEGIN CMS-----
base64 файл
-----END CMS-----

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Евгений789 оставлено 07.10.2021(UTC)
Offline Евгений789  
#15 Оставлено : 7 октября 2021 г. 15:35:33(UTC)
Евгений789

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

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

Сказал(а) «Спасибо»: 2 раз
Да, как мне это конвертировать через c# и создавать новый файл doc?
Offline Андрей *  
#16 Оставлено : 7 октября 2021 г. 15:47:32(UTC)
Андрей *

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

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

Сказал «Спасибо»: 393 раз
Поблагодарили: 1611 раз в 1238 постах
Разобрались.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Евгений789 оставлено 07.10.2021(UTC)
Offline Евгений789  
#17 Оставлено : 7 октября 2021 г. 15:48:13(UTC)
Евгений789

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

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

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