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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline apostol  
#1 Оставлено : 14 мая 2012 г. 16:10:16(UTC)
apostol

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

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

Добрый день!

Задача: Реализовать механизм подписания файлов на стороне клиента через веб-представление.
Решение:
С сервера получаем файл в формате base64
Получаем подпись на стороне клиента =>
Код:
      this.oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
      this.oSignedData.Content = values.Message;
      this.messageSignHash = this.oSignedData.SignCades(this.oSigner, CADESCOM_CADES_BES, true, CAPICOM_ENCODE_BASE64);

Проверяем подпись на стороне клиента:
Код:
this.oSignedData.VerifyCades(this.messageSignHash, CADESCOM_CADES_BES, true);

Проверяем подпись на стороне сервера:
Код:

            ContentInfo content = new ContentInfo(bytes);
            // Объект, в котором будут происходить декодирование и проверка.
            var signedCms = new SignedCms(content, true);

            // Декодируем сообщение.
            signedCms.Decode(sign);
            var signCount = signedCms.SignerInfos.Count;
            bool valid = true;
.....
                try
                {
                    // Используем проверку подписи и стандартную 
                    // процедуру проверки сертификата: построение цепочки, 
                    // проверку цепочки, и необходимых расширений для данного 
                    // сертификата.
                    current.CheckSignature(false);
                }
                catch (System.Security.Cryptography.CryptographicException e)
                {
                    valid = false;
                }
.....


Получаем результат:
Подпись на стороне клиента проверена - валдна,
Подпись на стороне сервера проверена - валидна.
+
файлик с подписью и файлик с первичным контентом (покоторому проверялась подпись на сервере)

Хотим убедиться что все сделали правильно:

Заходим на сайт
http://notary.cryptopro.ru/Detached.aspx

Даем исходный документ
Даем получившуюся подпись (подпись сохраняет полную цепочку сертификатов)

Получаем результат проверки:

Подлинность документа НЕ ПОДТВЕРЖДЕНА: не поддерживаемый формат электронного документа.

пример файла и подписи в атаче







Вложение(я):
1.txt (1kb) загружен 25 раз(а).
1.sig (7kb) загружен 32 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Online Андрей Писарев  
#2 Оставлено : 14 мая 2012 г. 17:56:08(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
Цитата:
Подлинность документа НЕ ПОДТВЕРЖДЕНА: не поддерживаемый формат электронного документа.


ЭЦП в base64 закодирована

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

Техническую поддержку оказываем тут
Наша база знаний
Online Андрей Писарев  
#3 Оставлено : 14 мая 2012 г. 18:16:21(UTC)
Андрей *

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

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

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
сконвертировал из base64 в бинарный вариант http://rghost.ru/38077419

проверка Вашей ЭЦП - проходит успешно - картинка http://rghost.ru/38077480
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.