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

Уведомление

Icon
Error

46 Страницы«<3839404142>»
Опции
К последнему сообщению К первому непрочитанному
Offline bvg  
#391 Оставлено : 2 октября 2014 г. 13:28:28(UTC)
bvg

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

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

Автор: Новожилова Елена Перейти к цитате
Автор: bvg Перейти к цитате
Создаю подпись браузере (IE, хром) и добавляю к подписи атрибуты документа с таким кодом CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION.
Все проходит без ошибок, но когда на dotnet прочитываю подпись, в атрибутах в конце текста часто находятся лишние символы (какой-то мусор, в основном отображаютсяя как иероглифы). В основном такое, когда в подписи несколько подписантов. Почему такое происходить может?

Код:

var oDocAttr = ObjCreator("CADESCOM.CPAttribute", browserName);
oDocAttr.Name = CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME;
oDocAttr.Value = docName;
oSigner.AuthenticatedAttributes2.Add(oDocAttr);


Сохраните полученную подпись в файл, декодируйте из BASE64 и откройте в любой программе просмотре ASN1 (например ViewBERNT)
Посмотрите, что действительно лежит в значении атрибута. Если все правильно - проверяете код на .Net. Если нет - проверяете, что передается в docName.


Лежит вроде верно. Но..
Строка: zzzz
преобразовалась в

04-08-7A-00-7A-00-7A-00-7A-00 - Из барузера
04-0A-7A-00-7A-00-7A-00-7A-00-00-00 - это если из dotnet

в dotent лежит все это в Pkcs9DocumentDescription

В итоге, когда декодируешь 04-08-7A-00-7A-00-7A-00-7A-00 (то что из браузера) всегда в конце дописывается мусор (может слова какое-то, а может быть куча спецсивмолов). Все выглядит, как будто не определяется конец строки и захватывается кусочек из буфера от предыдущего значения

Offline Новожилова Елена  
#392 Оставлено : 2 октября 2014 г. 13:54:35(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
Автор: GLHF Перейти к цитате
все на одной страничке, они небольшого обьёма


Тогда мне сложно предположить, с чем такое поведение может быть связано.
Offline Новожилова Елена  
#393 Оставлено : 2 октября 2014 г. 14:01:41(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
Автор: bvg Перейти к цитате

Лежит вроде верно. Но..
Строка: zzzz
преобразовалась в

04-08-7A-00-7A-00-7A-00-7A-00 - Из браузера
04-0A-7A-00-7A-00-7A-00-7A-00-00-00 - это если из dotnet

в dotent лежит все это в Pkcs9DocumentDescription

В итоге, когда декодируешь 04-08-7A-00-7A-00-7A-00-7A-00 (то что из браузера) всегда в конце дописывается мусор (может слова какое-то, а может быть куча спецсивмолов). Все выглядит, как будто не определяется конец строки и захватывается кусочек из буфера от предыдущего значения



В .Net у вас NULL-терминированная строка, в браузере - нет. Скорее всего код, отвечающий за декодирование, ожидает только NULL-терминированную строку, несмотря на то, что в ASN1 явно передается длина строки (второе число - 08).

Отредактировано пользователем 2 октября 2014 г. 14:02:18(UTC)  | Причина: Не указана

Offline klima  
#394 Оставлено : 2 октября 2014 г. 20:51:13(UTC)
klima

Статус: Участник

Группы: Участники
Зарегистрирован: 27.06.2013(UTC)
Сообщений: 12
Откуда: Eburg

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 2 раз в 2 постах
поломал весь мозг Brick wall

1. подписываю в вебе содержимое текстового файла
Код:

var DetachedSign = true;
var oSigner = CreateObject("CAdESCOM.CPSigner");
oSigner.Certificate = oCertificate;
var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
oSignedData.Content = "TextTextText";
var sSignedMessage = oSignedData.SignCades(oSigner, CADES_BES, DetachedSign);

Проверка в браузер работает прекрасно, но проверка csptest.exe не проходит.

2. отправляю этот base64 на сервер и сохраняю в файл
Код:

using (var sw = new FileStream(@"c:\Temp\sigs\file.txt.sig", FileMode.CreateNew))
{	
	var bts = Convert.FromBase64String(sign);
	sw.Write(bts, 0, bts.Length);
}


3. Самый печальный пункт
Код:
C:\Program Files\Crypto Pro\CSP>csptest.exe -sfsign -verify -detached -in c:\Temp\sigs\file.txt -signature c:\Temp\sigs\file.txt.sig -my cryptopro
#0:
Subject: CN=my cryptopro test
Valid  : 19.09.2014 20:20:00 - 19.12.2015 20:30:00 (UTC)
Issuer : ОГРН=1037700085444, ИНН=007717107991, STREET="ул. Сущёвский вал, д. 18", S=77 г. Москва, L=Москва, E=info@cryptopro.ru, C=RU, O="ООО ""КРИПТО-ПРО""", CN="Тестовый УЦ ООО ""КРИПТО-ПРО"""
PrivKey: 19.09.2014 20:20:00 - 19.12.2015 20:20:00 (UTC)

#0:
Subject: CN=my cryptopro test
Valid  : 19.09.2014 20:20:00 - 19.12.2015 20:30:00 (UTC)
Issuer : ОГРН=1037700085444, ИНН=007717107991, STREET="ул. Сущёвский вал, д. 18", S=77 г. Москва, L=Москва, E=info@cryptopro.ru, C=RU, O="ООО ""КРИПТО-ПРО""", CN="Тестовый УЦ ООО ""КРИПТО-ПРО"""
PrivKey: 19.09.2014 20:20:00 - 19.12.2015 20:20:00 (UTC)

An error occurred in running the program.
signtsf.c:766:Detached Signature was NOT verified

Error number 0x80091007 (2148077575).
Неправильное значение хеша.

Total: SYS: 0,047 sec USR: 0,000 sec UTC: 0,224 sec
[ErrorCode: 0x80091007]

Не понятно почему два раза один и тот же сертификат #0

Куда копать? Может быть я неверно сохранил sig? Brick wall
Offline Новожилова Елена  
#395 Оставлено : 3 октября 2014 г. 13:52:07(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
thanks 1 пользователь поблагодарил Новожилова Елена за этот пост.
klima оставлено 13.10.2014(UTC)
Offline klima  
#396 Оставлено : 13 октября 2014 г. 22:15:26(UTC)
klima

Статус: Участник

Группы: Участники
Зарегистрирован: 27.06.2013(UTC)
Сообщений: 12
Откуда: Eburg

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 2 раз в 2 постах
А можно ли как-то в Chrome и других не ИЕ браузерах вызывать certificate.Display() чтобы открыть сам сертификат?
В ИЕ оно работает ;(
Код:
var certificate = GetCertificateByThumbprint(thumb);
certificate.Display();
Offline Новожилова Елена  
#397 Оставлено : 14 октября 2014 г. 14:02:20(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
В других браузерах - только если получать свойства сертификата и выводить аналогичное окно самостоятельно.
thanks 1 пользователь поблагодарил Новожилова Елена за этот пост.
klima оставлено 14.10.2014(UTC)
Offline Aleksandr_pro  
#398 Оставлено : 5 ноября 2014 г. 10:02:46(UTC)
Aleksandr_pro

Статус: Активный участник

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

Сказал «Спасибо»: 7 раз
Поблагодарили: 4 раз в 4 постах
Автор: GLHF Перейти к цитате
Здравствуйте, столкнулся с проблемой подписывания большого количества данных в цикле (>200 xml в base64) в IE. В остальных браузерах всё работает нормально, в IE же подписывание происходит удачно через раз: при создании некоторого количества подписей (обычно от 100 и выше), есть шанс, что возникает ошибка "-2147024809 Параметр задан неверно". При этом, если сделать ещё несколько попыток подписать эти же данные, то они подписываются корректно. Есть ли предположения, с чем это может быть связано?


У нас наблюдается такая же проблема, уточню немного информацию, ошибка происходит в строке oSignedData.Content=doc и на текущий момент наблюдается только в IE8.
Причина тоже не известна, пока прорабатываем версию что что то не верно в кодировке документа, остальные условия примерно такие же, подписываются HTML докменты малого объема в цикле по 10-20 штук, так же при повторном подписании ошибка не повторяется. Ошибка происходит при различных версия крипто про.

В общем проблема пропала после вот такого финта ушами,
был вот такой код
Код:
oSignedData.Content = documentdata[doc_id][4][/b];// стало быть documentdata - массив в Base64 документами

сделал так
Код:
 doc=documentdata[doc_id][4];
 oSignedData.Content = doc;


и ошибка пропала

Отредактировано пользователем 18 ноября 2014 г. 15:56:35(UTC)  | Причина: Не указана

Offline tarasnn  
#399 Оставлено : 16 марта 2016 г. 12:47:23(UTC)
tarasnn

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

Группы: Участники
Зарегистрирован: 19.02.2016(UTC)
Сообщений: 7
Откуда: Perm

Добрый день!
Есть ли в API КриптоПро ЭЦП Browser plug-in доступные методы для каноникализации xml?
прошу указать, если таковые имеются, спасибо.
Offline cross  
#400 Оставлено : 16 марта 2016 г. 13:11:46(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

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