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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline eltoko  
#1 Оставлено : 5 мая 2011 г. 14:53:42(UTC)
eltoko

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

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

Здравствуйте, ув. форумчане!

Требуется шифровать файлы на стороне клиента в браузере. Использую CAPICOM
Задача "почти" решена. Одно но. Шифруются только простые текстовые файлы.. т.е. читабельные.. такие файлы как doc, pdf, иначе говоря - бинарные - шифруются не правильно.

вот код:
Цитата:

// функция чтения файла
function readfile(path)
{
var fso, ts;
fso = new ActiveXObject("Scripting.FileSystemObject");
ff = fso.GetFile(path);
ts = ff.OpenAsTextStream(1);
data = ts.read(ff.size);
ts.close();
return data;
}

var data = readfile(document.getElementById("doks"+i).value);
EnvelopedData.Content=data;
EnvelopedData.Recipients.Add(certificate.Item(vibran));
document.getElementById("doks_shifr").value = EnvelopedData.Encrypt(CAPICOM_ENCODE_BASE64);
EnvelopedData.Recipients.Clear();


т.е. что происходит...
Пользователь указывает путь к файлу, мы его читаем в data, затем шифруем и зашифрованное пишем в textarea. после отправки формы содержимое textarea записываем в файл.
Всё это работает, но с текстовыми файлами. Если зашифровать таким способом документ Word, то после расшифровки, документ нельзя открыть программой..

Фактически, бинарный файл функцией readfile считывается в data неверно..

что делать.. не знаю.. подскажите, пожалуйста, как все же зашифровать бинарный файл.
Offline eltoko  
#2 Оставлено : 6 мая 2011 г. 15:07:14(UTC)
eltoko

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

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

Если нельзя с помощью CAPICOM шифровать файлы-документы типа DOC, PDF то в какую сторону двигаться, чтобы на сервере файлы таких типов были зашифрованы? потому как openSSL тоже не работает с "тяжелыми" файлами...
Offline ams  
#3 Оставлено : 15 мая 2011 г. 3:08:22(UTC)
ams

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

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

eltoko написал:


Требуется шифровать файлы на стороне клиента в браузере. Использую CAPICOM
Задача "почти" решена. Одно но. Шифруются только простые текстовые файлы.. т.е. читабельные.. такие файлы как doc, pdf, иначе говоря - бинарные - шифруются не правильно.

вот код:
Цитата:

// функция чтения файла
function readfile(path)
{
var fso, ts;
fso = new ActiveXObject("Scripting.FileSystemObject");
ff = fso.GetFile(path);
ts = ff.OpenAsTextStream(1);
data = ts.read(ff.size);
ts.close();
return data;
}

var data = readfile(document.getElementById("doks"+i).value);
EnvelopedData.Content=data;
EnvelopedData.Recipients.Add(certificate.Item(vibran));
document.getElementById("doks_shifr").value = EnvelopedData.Encrypt(CAPICOM_ENCODE_BASE64);
EnvelopedData.Recipients.Clear();


т.е. что происходит...
Пользователь указывает путь к файлу, мы его читаем в data, затем шифруем и зашифрованное пишем в textarea. после отправки формы содержимое textarea записываем в файл.
Всё это работает, но с текстовыми файлами. Если зашифровать таким способом документ Word, то после расшифровки, документ нельзя открыть программой..

Фактически, бинарный файл функцией readfile считывается в data неверно..

что делать.. не знаю.. подскажите, пожалуйста, как все же зашифровать бинарный файл.



Здравствуйте!
Есть подозрения, что таким способом Вы не сможете зашифровать бинарный файл потому, что Scripting.FileSystemObject может работать только с текстовыми файлами
(http://msdn.microsoft.com/en-us/library/aa711216(v=vs.71).aspx)
т.е. прочитать бинарник в браузере - непросто, пробовал через ADODB.Stream, так он по=умолчанию отключен для использования в IE (из-за проблем с безопастностью), так что использовать его проблематично и вряд ли целесообразно (как я сейчас понимаю).
Может нужно писать свой ActiveX, который и будет шифровать файл? Или обратить внимание на JCP?
Опять же, чувствую, пока не попробуешь - не узнаешь какие там грабли :)
---
Если Вы решите проблему или у Вас появится информация по данному вопросу, пожалуйста, приведите ее в этой ветке.

Отредактировано пользователем 15 мая 2011 г. 3:09:42(UTC)  | Причина: Не указана

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