Статус: Новичок
Группы: Участники
Зарегистрирован: 19.11.2019(UTC) Сообщений: 8  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
Здравствуйте!
Подскажите пожалуйста как правильно подписать шифруемые данные из примера EnvelopedDataAsByteArrayExample.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,098  Откуда: Крипто-Про Сказал(а) «Спасибо»: 22 раз Поблагодарили: 751 раз в 708 постах
|
Добрый день. Автор: i7526799  Подскажите пожалуйста как правильно подписать шифруемые данные из примера EnvelopedDataAsByteArrayExample.
Может быть, наоборот: зашифровать подписанные данные? Рядом есть пример EnvelopedCMSAsStreamExample, он шифрует в адрес получателя не любые данные, а подпись CMS, которую предварительно создает. |
|
 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.11.2019(UTC) Сообщений: 8  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
т.е. если нужно зашифровать произвольный текст "data" с подписью, то необходимо: 1) создать cms сообщение с "data" 2) подписать cms 3) зашифровать
??? и именно это отображено в примере EnvelopedCMSAsStreamExample ???
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,098  Откуда: Крипто-Про Сказал(а) «Спасибо»: 22 раз Поблагодарили: 751 раз в 708 постах
|
EnvelopedDataAsByteArrayExample и EnvelopedCMSAsStreamExample, по сути, делают одно и то же, только EnvelopedDataAsByteArrayExample шифрует простые (любые) данные - DATA, например, а EnvelopedCMSAsStreamExample шифрует подпись формата CMS, которую сначала создает, например, на тот же DATA (т.е. подписан DATA), а после расшифрования - еще и проверяет эту подпись. |
|
 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.11.2019(UTC) Сообщений: 8  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
Т.е. для этого кейса: 1) Взять текстовый файл с произвольной строкой - DATA 2) Подписать этот файл 3) Зашифровать
Нужно использовать пример EnvelopedCMSAsStreamExample ? Он по сути тоже самое и делает ?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,098  Откуда: Крипто-Про Сказал(а) «Спасибо»: 22 раз Поблагодарили: 751 раз в 708 постах
|
|
|
 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.11.2019(UTC) Сообщений: 8  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
А как без cms просто подписать произвольную строку и потом зашифровать ?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,098  Откуда: Крипто-Про Сказал(а) «Спасибо»: 22 раз Поблагодарили: 751 раз в 708 постах
|
Plain-подпись создаётся с помощью класса Signature. |
|
 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.11.2019(UTC) Сообщений: 8  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
Евгений, есть ли пример в поставке jcp в sample-sources ? c plain подписью и шифрованием ?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана |
|
 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close