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

Уведомление

Icon
Error

46 Страницы«<23456>»
Опции
К последнему сообщению К первому непрочитанному
Offline analitic1983  
#31 Оставлено : 27 сентября 2011 г. 18:50:12(UTC)
analitic1983

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

Группы: Участники
Зарегистрирован: 15.09.2011(UTC)
Сообщений: 4

Смирнов написал:
Коллеги stdprn и analitic1983!
В JavaScript в IE строки UCS-2, а в других браузерах UTF-8. В данный момент мы не можем предложить универсальное решение проблемы перекодирования.


Используем Firefox 3.6 Win7, добавляет именно второй байт 0. Т.е. строка
var dataToSign="abc";

В подписи превращается в a0b0c0. Т.е. никакого UTF-8.

Пологаю что, при передаче строкового параметра через COM объекты, все переводится к UCS-2. Так что ждем от вас метода convertUnicode (или как вы его назовете) отбрасывающего второй байт. В будущем к нему можно добавить нужные параметры конвертации, если будут необходимы.
Offline Павел Смирнов  
#32 Оставлено : 27 сентября 2011 г. 23:32:43(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
analitic1983 написал:
Используем Firefox 3.6 Win7, добавляет именно второй байт 0. Т.е. строка
var dataToSign="abc";

В подписи превращается в a0b0c0. Т.е. никакого UTF-8.

Вот это перекодирование как раз сделано специально внутри плагина для совместимости подписи с CAPICOM в IE. А вот что будет, если вместо "abc" подать непечатаемые символы, среди которых могут попадаться и нулевые, мы сейчас предсказать не можем. Причём предсказать не про наш плагин, а про браузеры. Как проверим - расскажем.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline khomenko  
#33 Оставлено : 7 октября 2011 г. 18:41:12(UTC)
Михаил Хоменко

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

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

Поблагодарили: 15 раз в 14 постах
Смирнов написал:
analitic1983 написал:
Используем Firefox 3.6 Win7, добавляет именно второй байт 0. Т.е. строка
var dataToSign="abc";

В подписи превращается в a0b0c0. Т.е. никакого UTF-8.

Вот это перекодирование как раз сделано специально внутри плагина для совместимости подписи с CAPICOM в IE. А вот что будет, если вместо "abc" подать непечатаемые символы, среди которых могут попадаться и нулевые, мы сейчас предсказать не можем. Причём предсказать не про наш плагин, а про браузеры. Как проверим - расскажем.


Посмотрели как ведут себя браузеры с бинарными данными: по-разному и плохо. Данные с сервера качали с помощью XmlHttpRequest.

IE в зависимости от Content-type писал данные в xmlHttpRequest::responseText или xmlHttpRequest::responseBody.
При записи в xmlHttpRequest::responseText независимо от charset (us-ascii, utf-8и т.п.) данные перекодировались в UCS-2.
xmlHttpRequest::responseBody имел тип Array of Byte, для которого нет простого способа почитать из javaScript.

Firefox, Chrome, Opera любые бинарные данные писали в xmlHttpRequest::responseText; пытались угадать кодировку данных; с нулевыми байтами внутри данных
обходились хорошо, не обрезая строку по первому нулю. Все беды начинались при передаче данных плагину. Если внутри строки встречался 0, то плагин получал обрезанную строку, но
длина строки передавалась оригинальная. Плагин ожидает получить данные в UTF-8 кодировке, поэтому что получается после перекодирования из UTF-8 в UCS-2 произвольных бинарных данных
и что будет в итоге подписано - неизвестно.

Для борьбы с этими проблемами будет сделано:

Бинарные данные должны быть закодированы в base64,
У объекта CadesSignedData появится новое свойство ContentEncoding, говорящий плагину о кодировке контента (base64, utf-8, ucs-2).
Перед созданием подписи:
- base64 будет декодирован в бинарные данные
- utf-8 -> ucs-2
- ucs-4 -> ucs-2
При проверке прикрепленной подписи перед получение контента также нужно указать кодировку, в которой будут получены подписанные данные.

Offline Павел Смирнов  
#34 Оставлено : 7 октября 2011 г. 18:57:47(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Тему открепляю, т.к. документацию выложили в основное место: http://www.cryptopro.ru/products/cades/plugin.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline stdprn  
#35 Оставлено : 8 октября 2011 г. 0:24:51(UTC)
stdprn

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

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

удивительно но с файлами проблема решена
с использованием base64 для передачи с сервера
ручным побитовым перекодированием (в chrome есть встроенная функция).

теперь следующий вопрос
могу ли с помощью плагина создать xmldsig подпись?

собственно мне надо сделать три параметра для подписи узла xml
<DigestValue> - это хэш. можно ли его выловить из свойств объекта?
<SignatureValue> - это сама подпись. видиом она такой и останется.
<X509Certificate> - это публичный ключ от сертификата

идея в том что бы пользователь поставил СВОЮ подпись на узел xml файла и ничего кроме браузера не использовал.
естественно мы уже используем sharpei на сервере - но там ставится только серверная подпись.

заранее спасибо, ваш форум очень помогает, думаю согласятся все разработчики электронной россии)
Offline Павел Смирнов  
#36 Оставлено : 10 октября 2011 г. 14:20:33(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
На данный момент плагин поддерживает только CMS-подпись.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline stdprn  
#37 Оставлено : 10 октября 2011 г. 15:29:15(UTC)
stdprn

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

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

подскажите пожалуйста какое техническое решение использовать при решении такой задачи
используя браузер поставить клиентскую подпись в формате xml dsig
Offline Павел Смирнов  
#38 Оставлено : 17 октября 2011 г. 14:21:31(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
stdprn написал:
подскажите пожалуйста какое техническое решение использовать при решении такой задачи
используя браузер поставить клиентскую подпись в формате xml dsig

Из готового можем посоветовать только COM-библиотеку MSXML5, которая входит в MS Office 2007, но её оттуда можно выдрать. Соответственно, это решение только для Windows и только для IE.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline spb-stelz  
#39 Оставлено : 18 октября 2011 г. 14:14:47(UTC)
spb-stelz

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

Группы: Участники
Зарегистрирован: 29.09.2011(UTC)
Сообщений: 6

Добрый день.

Скажите, пожалуйста, планируется ли добавить в плагин функционал по созданию клиентской подписи в формате xmldsig?
Offline Павел Смирнов  
#40 Оставлено : 18 октября 2011 г. 15:16:03(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
spb-stelz написал:
Скажите, пожалуйста, планируется ли добавить в плагин функционал по созданию клиентской подписи в формате xmldsig?

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