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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline vanya  
#1 Оставлено : 20 октября 2011 г. 2:08:58(UTC)
vanya

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

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

Добрый день!

Требуется помощь в реализации следующего тех.задания.

Описание Тех. задания.

1) Имеется форма ASP.NET (C#)
2) на форме имеется 2 скрытых поля: hid_data и hid_sign
3) также имеется кнопка but_sign
4) в момент загрузки страницы в поле hid_data попадает содержимое каких-то файлов в виде строки base64.
содержимое файлов разделяется точкой с запятой ';'

this.hid_data.value = "";
foreach (File f in files)
{
byte[] f_data = f.ReadAllBytes();
this.hid_data.value += Convert.ToBase64String(f_data) + ";";
}

5) при нажатии кнопки but_sign каждый из указанных файлов подписывается,
а содержимое подписей (опять же в виде base64) попадает в поле hid_sign
содержимое подписей разделено точкой с запятой ';'
содержимое подписей идет в том же порядке, что и порядок файлов

На стороне клиента используется Крипто-Про (для формирования подписи)

Необходимо на JavaScript (на стороне клиента) реализовать функцию SignMass(data, is_dettached)
которая возвращает подписи переданных файлов (см. пп. 1-4).
При этом is_dettached отвечает за то, будет ли подпись присоедененной или отсоединенной
(если is_dettached == true, то подпись отсоединенная).

Подписи переданных файлов должны быть записаны в формате п.5, т.е.:
* подпись каждого файла в виде строки base64 (чтобы можно было конвертнуть в byte[] и записать на диск)
* все подписи разделены точкой с запятой

Приблизительная схема работы:

function SignMass(data, is_dettached)
{
var user_certificate = ...; //здесь работа CAPICOM

var arr = data.toString().split(';');
var res = [];

for (var i = 0; i < arr.length; i++)
{
res[i] = SingDocument(user_certificate, arr[i], is_dettached);
}
}

где функция SignDocument(user_certificate, data, is_dettached)
- создает подпись к конкретному файлу, выбраным пользовательским сертификатом

function SignDocument(user_certificate, data, is_dettached)
{
var signer = ...; //здесь работает CAPICOM
signer.Certificate = user_certificate;

var signed_data = ...; //здесь работа CAPICOM
signed_data.Content = SignBase64Decode(data); //функция, которая декодирует строку base64 в набор байт

var result = signed_data.Sign(signer);

return result;
}


ЖЕЛАТЕЛЬНО:
чтобы скрипт работал в различных браузерах

За всю работу 2000р
если выполнен пункт "желательно" +1000р


Контактный e-mail: freelance_eds@mail.ru
Offline Андрей Писарев  
#2 Оставлено : 20 октября 2011 г. 2:11:20(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
срок какой? :)
(шутка)

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

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#3 Оставлено : 20 октября 2011 г. 2:13:46(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
Цитата:
ЖЕЛАТЕЛЬНО:
чтобы скрипт работал в различных браузерах


Цитата:
если выполнен пункт "желательно" +1000р

" не много ли?"

не взлетит...
CAPICOM = ActiveX => IE

и хорошо будет нагружать систему... для х, хх мб вложений

Отредактировано пользователем 20 октября 2011 г. 2:22:53(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#4 Оставлено : 20 октября 2011 г. 2:16:17(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
Цитата:
Quote:
если выполнен пункт "желательно" +1000р


еще напиши:
заплачу 500р , если заработает не в Windows ;)Shhh

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

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#5 Оставлено : 20 октября 2011 г. 2:30:21(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
Цитата:
Необходимо на JavaScript (на стороне клиента) реализовать функцию SignMass(data, is_dettached)
которая возвращает подписи переданных файлов


в SDK есть же пример подписания ... Shhh

Отредактировано пользователем 20 октября 2011 г. 2:30:56(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline vanya  
#6 Оставлено : 20 октября 2011 г. 13:58:43(UTC)
vanya

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

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

Не подскажите ли, в каком конкретно SDK ?

Offline Андрей Писарев  
#7 Оставлено : 20 октября 2011 г. 14:32:23(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
100р ;)
CAPICOM SDK
Техническую поддержку оказываем тут
Наша база знаний
Offline vanya  
#8 Оставлено : 20 октября 2011 г. 17:47:47(UTC)
vanya

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

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

Получается создать отсоединенную подпись, но при её проверке что COPICOM, что Microsoftовскими стандартными средствами вылетает ошибка:
"Неправильное значение хэша"
Offline Андрей Писарев  
#9 Оставлено : 20 октября 2011 г. 17:53:28(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
vanya написал:
Получается создать отсоединенную подпись, но при её проверке что COPICOM, что Microsoftовскими стандартными средствами вылетает ошибка:
"Неправильное значение хэша"



значит не правильно создаешь или проверяешь
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#10 Оставлено : 20 октября 2011 г. 17:54:30(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
vanya написал:
Microsoftовскими стандартными средствами


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