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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline i7526799  
#1 Оставлено : 19 ноября 2019 г. 16:13:32(UTC)
i7526799

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

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

Сказал(а) «Спасибо»: 7 раз
Здравствуйте!

Подскажите пожалуйста как правильно подписать шифруемые данные из примера EnvelopedDataAsByteArrayExample.
Offline Евгений Афанасьев  
#2 Оставлено : 19 ноября 2019 г. 16:24:45(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 751 раз в 708 постах
Добрый день.
Автор: i7526799 Перейти к цитате

Подскажите пожалуйста как правильно подписать шифруемые данные из примера EnvelopedDataAsByteArrayExample.

Может быть, наоборот: зашифровать подписанные данные?
Рядом есть пример EnvelopedCMSAsStreamExample, он шифрует в адрес получателя не любые данные, а подпись CMS, которую предварительно создает.

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
i7526799 оставлено 19.11.2019(UTC)
Offline i7526799  
#3 Оставлено : 19 ноября 2019 г. 16:44:49(UTC)
i7526799

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

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

Сказал(а) «Спасибо»: 7 раз
т.е. если нужно зашифровать произвольный текст "data" с подписью, то необходимо:
1) создать cms сообщение с "data"
2) подписать cms
3) зашифровать

??? и именно это отображено в примере EnvelopedCMSAsStreamExample ???
Offline Евгений Афанасьев  
#4 Оставлено : 19 ноября 2019 г. 17:24:12(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 751 раз в 708 постах
EnvelopedDataAsByteArrayExample и EnvelopedCMSAsStreamExample, по сути, делают одно и то же, только EnvelopedDataAsByteArrayExample шифрует простые (любые) данные - DATA, например, а EnvelopedCMSAsStreamExample шифрует подпись формата CMS, которую сначала создает, например, на тот же DATA (т.е. подписан DATA), а после расшифрования - еще и проверяет эту подпись.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
i7526799 оставлено 19.11.2019(UTC)
Offline i7526799  
#5 Оставлено : 19 ноября 2019 г. 18:51:27(UTC)
i7526799

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

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

Сказал(а) «Спасибо»: 7 раз
Т.е. для этого кейса:
1) Взять текстовый файл с произвольной строкой - DATA
2) Подписать этот файл
3) Зашифровать

Нужно использовать пример EnvelopedCMSAsStreamExample ?
Он по сути тоже самое и делает ?
Offline Евгений Афанасьев  
#6 Оставлено : 19 ноября 2019 г. 19:20:34(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 751 раз в 708 постах
Да.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
i7526799 оставлено 19.11.2019(UTC)
Offline i7526799  
#7 Оставлено : 20 ноября 2019 г. 23:33:20(UTC)
i7526799

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

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

Сказал(а) «Спасибо»: 7 раз
А как без cms просто подписать произвольную строку и потом зашифровать ?
Offline Евгений Афанасьев  
#8 Оставлено : 21 ноября 2019 г. 7:35:49(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 751 раз в 708 постах
Plain-подпись создаётся с помощью класса Signature.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
i7526799 оставлено 21.11.2019(UTC)
Offline i7526799  
#9 Оставлено : 21 ноября 2019 г. 10:45:46(UTC)
i7526799

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

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

Сказал(а) «Спасибо»: 7 раз
Евгений, есть ли пример в поставке jcp в sample-sources ?
c plain подписью и шифрованием ?
Offline Евгений Афанасьев  
#10 Оставлено : 21 ноября 2019 г. 10:51:19(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 751 раз в 708 постах
Автор: i7526799 Перейти к цитате
c plain подписью и шифрованием ?

Нет.
Plain-подпись (пример SignAndVerify):
Код:

PrivateKey privateKey = ... // закрытый ключ для подписи
final Signature sig = Signature.getInstance(signatureAlgorithm, providerName);
sig.initSign(privateKey);
sig.update(data); // data - данные для подписи
byte[] result = sig.sign(); // plain-подпись длиной 64 или 128 байт

signatureAlgorithm:
JCP.GOST_EL_SIGN_NAME для ГОСТ 2001, или
JCP.GOST_SIGN_2012_256_NAME для ГОСТ 2012 (256), или
JCP.GOST_SIGN_2012_512_NAME для ГОСТ 2012 (512).
providerName:
JCP.PROVIDER_NAME для провайдера JCP,
или JCSP.PROVIDER_NAME для провайдера Java CSP.

Отредактировано пользователем 21 ноября 2019 г. 10:52:38(UTC)  | Причина: Не указана

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