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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline smie  
#1 Оставлено : 6 мая 2015 г. 0:01:01(UTC)
smie

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

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

В пример smaples.jar, есть пример шифрования данных CMSSignAndEncrypt.
Скажите пожалуйста, есть ли возможность в JCP зашифровать данные на несколько получателей и как это можно сделать?
К сожалению примеров реализации не нашел.

Заранее благодарен!
Offline Евгений Афанасьев  
#2 Оставлено : 6 мая 2015 г. 1:20:30(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,924
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 690 раз в 651 постах
Смотрите примеры в пакете CMS_samples/enveloped, из JCP 2.0.
Offline smie  
#3 Оставлено : 6 мая 2015 г. 9:17:32(UTC)
smie

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

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

Автор: afev Перейти к цитате
Смотрите примеры в пакете CMS_samples/enveloped, из JCP 2.0.


Пакет CMS_samples не содержит enveloped(скачал последнюю версию JCP 2.0.38150).
enveloped есть в пакете CAdES, но примеров шифрования на нескольких получателей я всеравно не нашел.

Может подскажете название класса в котором надо посмотреть?
Offline Евгений Афанасьев  
#4 Оставлено : 6 мая 2015 г. 10:48:38(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,924
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 690 раз в 651 постах
Да, ошибся, в CAdES, а не в CMS_samples. Посмотрите EnvelopedDataAsByteArrayExample (для одного получателя). И документацию к классу EnvelopedSignature в CAdES-javadoc.jar в папке javadoc дистрибутива.

Отредактировано пользователем 6 мая 2015 г. 10:49:17(UTC)  | Причина: Не указана

Offline Efim163  
#5 Оставлено : 6 февраля 2017 г. 13:20:57(UTC)
Efim163

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

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

Добрый день!
Скажите есть ли в сертифицированной версии КриптоПро JCP и JTLS (2.0.39014), возможность шифрования данных на несколько получателей? Если да, то где можно найти пример реализации?
В предыдущем сообщении написано про одного получателя, а документацию к EnvelopedSignature я не нашел.
Offline Евгений Афанасьев  
#6 Оставлено : 6 февраля 2017 г. 13:41:51(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,924
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 690 раз в 651 постах
Здравствуйте.
Если есть список сертификатов получателей, можно зашифровать сообщение в их адрес с помощью EnvelopedSignature (документация в дистрибутиве JCP, папка javadoc, архив с документацией CAdES-javadoc.jar, класс EnvelopedSignature - в описании есть примеры).
Offline Efim163  
#7 Оставлено : 7 февраля 2017 г. 11:01:16(UTC)
Efim163

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

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

Нашел документацию, спасибо. Попробовал сделать шифрование как в примере:
public EnvelopedSignature()
Конструктор. Используется для создания подписи формата Enveloped CMS. Иинициализирует работу генератора подписи.
1. Пример формирования подписи формата Enveloped CMS с сохранением в буфер

// Буфер для сохранения подписи Enveloped CMS
ByteArrayOutputStream envelopedByteArrayOutStream = new ByteArrayOutputStream();

// Создание объекта Enveloped CMS
EnvelopedSignature signature = new EnvelopedSignature();

// Добавление получателя (сертификат). При расшифровании получатель
// будет использовать закрытый ключ, соответствующий данному сертификату
signature.addKeyTransRecipient(recipientCertificate);
// или
signature.addKeyAgreeRecipient(recipientCertificate);

// Инициализация Enveloped CMS буфером для сохранения подписи
signature.open(envelopedByteArrayOutStream);

// Подготовленные данные для зашифрования - строка или CMS,
// полученная с помощью CMSSign (samples.jar) или CAdES API
byte[] data = ...

// Зашифрование данных data
signature.update(data, 0, data.length);

// Формирование подписи Enveloped CMS
signature.close();

// Получение подписи в формате Enveloped CMS в буфер
byte[] envelopedByteData = envelopedByteArrayOutStream.toByteArray();

На шаге - signature.open(envelopedByteArrayOutStream);

Программа выдает ошибку
ru.CryptoPro.CAdES.exception.EnvelopedException: Output cipher initiation failed
java.security.InvalidKeyException: Illegal key size or default parameters

Подскажите пожалуйста что она означает?
И в чем отличие signature.addKeyTransRecipient() от signature.addKeyAgreeRecipient()?

Отредактировано пользователем 7 февраля 2017 г. 16:15:26(UTC)  | Причина: Не указана

Offline Efim163  
#8 Оставлено : 7 февраля 2017 г. 17:11:30(UTC)
Efim163

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

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

В общем с этой ошибкой разобрался, может кому пригодится, нужно было поменять файлы политики безопасности, скачал тут:
http://www.oracle.com/te...e8-download-2133166.html
Offline SergeyTS  
#9 Оставлено : 2 октября 2018 г. 13:23:09(UTC)
SergeyTS

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

Группы: Участники
Зарегистрирован: 25.01.2018(UTC)
Сообщений: 37
Российская Федерация

Сказал(а) «Спасибо»: 6 раз
Добрый день.
Падает на этой же строчке
Код:
signature.open(envelopedByteArrayOutStream);

Перерыл весь интернет, так решения и не нашел. Смена прав также не помогла. Подскажите, в чем может быть проблема?

P.S.
Работа на Android устройстве.
Java 1.8.0_181
версия КриптоПро CSP 5.0.39755

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

Offline Евгений Афанасьев  
#10 Оставлено : 2 октября 2018 г. 13:30:57(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,924
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 690 раз в 651 постах
Здравствуйте.
Если это android, то надо собрать лог в logcat и приложить.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.