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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Jin  
#1 Оставлено : 25 января 2010 г. 20:17:45(UTC)
Jin

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

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

Добрый день.
Пытаюсь с помощью Крипто Про Sharpei зашифровать большой файл, однако в примерах этого нет.
для зашифровки используется класс EnvelopedCms, из которого вызывается метод Ecnrypt. Короче говоря не вижу каких-либо намёков на повторный вызов функции шифрования и мне не понятно как это сделать.
Может ыть кто-нибудь знает как зашифровать и сделать другие операции над файлами больших размеров?
Offline Максим Коллегин  
#2 Оставлено : 25 января 2010 г. 20:33:58(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,393
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
Стандартные классы это не позволяют - придется писать обертки над поточными функциями CryptMsg.
Знания в базе знаний, поддержка в техподдержке
Offline Jin  
#3 Оставлено : 25 января 2010 г. 20:43:28(UTC)
Jin

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

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

стойте, использование CryptMsg и других функций типа ( Control, Update, OpenToEncode) это конечно же круто, но это на C++ , кроме того у них есть одна проблема, ( в CALLBACK функцию приходят зашифрованные данные размеров по 1024 байт) это C++ , а хотелось бы на .Net используя Sharpei. Но какбы там нибыло неужели в .Net нету класса в котором потоковое шифрование будет предусмотренно?

Отредактировано пользователем 25 января 2010 г. 20:44:24(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#4 Оставлено : 25 января 2010 г. 20:51:44(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,393
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
Существуют успешные реализации этих колбэков на .net :)
Знания в базе знаний, поддержка в техподдержке
Offline Jin  
#5 Оставлено : 25 января 2010 г. 20:56:02(UTC)
Jin

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

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

а можете привести пример или хотябы ссылочку дать, как это делается на.net
Offline Максим Коллегин  
#6 Оставлено : 26 января 2010 г. 2:35:17(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,393
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
Обычный P/Invoke - какие возникают сложности?
четвертая ссылка
cs-callback

Отредактировано пользователем 26 января 2010 г. 2:43:13(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline Jin  
#7 Оставлено : 26 января 2010 г. 19:05:19(UTC)
Jin

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

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

т.е. предлагает использовать типа DLLImport или что-то другое чтобы вызвать функции из C, просто зачем мне C когда я на C# )))
если переходить на С . то там я как раз и использую CryptMsgControl и другие для расшифровки зашифровки.
Просто на C++ много косяков чтобы сделать расшифровку, много времени уходит на это.
Можт быть у кого-нибудь есть примерчик расшифровки на C++ хотябы, а то на форуме эта тема поднималась но помоему не была законченна...
Offline Максим Коллегин  
#8 Оставлено : 9 апреля 2010 г. 21:08:54(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,393
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
Знания в базе знаний, поддержка в техподдержке
Offline Челпанов А.  
#9 Оставлено : 13 апреля 2010 г. 16:09:33(UTC)
Челпанов А.

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

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

Поблагодарили: 2 раз в 2 постах
Пример, по ссылке выше, не совсем корректный:
1) не работоспособен с ГОСТ;
2) исходный файл читается полностью, поэтому пример не совсем поточный;
3) пример не работает на больших объемах исходных файлов (не поддерживает BER, ошибки в int-long...)
Поэтому выкладываю исправленный.
Кроме того, добавлена обработка флага detached.
Пример войдет в обновленный КриптоПро SDK, а пока доступен тут.
StreamSign.cs - поточная подпись
StreamVerify.cs - поточная проверка
StreamHelper.cs - прослойка на Win32 для CMS. Нужен как для подписи так и для шифрования.
Вложение(я):
StreamHelper.cs (9kb) загружен 79 раз(а).
StreamSign.cs (18kb) загружен 93 раз(а).
StreamVerify.cs (15kb) загружен 72 раз(а).

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