Статус: Участник
Группы: Участники
Зарегистрирован: 25.11.2020(UTC) Сообщений: 14 Откуда: NSK Сказал(а) «Спасибо»: 3 раз
|
Добрый день!
Столкнулся с такой ситуацией. При шифровании (PKCS7) на несколько сертификатов создаю EnvelopedSignature и добавляю их через envelopedSignature.addKeyTransRecipient(cert).
При добавлении, внутри библиотек КриптоПро, проходит проверка сертификата на предмет использования ключа. И если "Шифрование ключей" не заявлено, то выбрасывается исключение.
Но через КриптоАРМ шифрование таким сертификатом проходит, как и через плагин на портале Центробанка.
Хотел узнать почему разное поведение при одинаковой операции шифрования на разных "продуктах".
Спасибо!
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Здравствуйте. Приведите стек ошибки. Скорее всего, бросается исключение из стандартного вызова вроде Cipher.init. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.11.2020(UTC) Сообщений: 14 Откуда: NSK Сказал(а) «Спасибо»: 3 раз
|
Автор: Евгений Афанасьев Здравствуйте. Приведите стек ошибки. Скорее всего, бросается исключение из стандартного вызова вроде Cipher.init. Добрый день! Стэк: Caused by: ru.CryptoPro.CAdES.exception.EnvelopedException: Wrong key usage at ru.CryptoPro.CAdES.EnvelopedSignature.addKeyTransRecipient(Unknown Source) Он небольшой, вызовы внутри приложения опустил.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Какая у вас версия JCP в формате x.y.zzzzz? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.11.2020(UTC) Сообщений: 14 Откуда: NSK Сказал(а) «Спасибо»: 3 раз
|
Автор: Евгений Афанасьев Какая у вас версия JCP в формате x.y.zzzzz? Такое поведение на версиях JCP 2.0.41940-A и 2.0.40450-A И на версии JCSP 5.0.40363-A
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
С начала добавления EnvelopedSignature в методе addKeyTransRecipient присутствует проверка наличия Key Usage "KeyEncipherment" в сертификате получателя. Она требовалась, поскольку стандартный Cipher проверяет этот бит. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.11.2020(UTC) Сообщений: 14 Откуда: NSK Сказал(а) «Спасибо»: 3 раз
|
Автор: Евгений Афанасьев С начала добавления EnvelopedSignature в методе addKeyTransRecipient присутствует проверка наличия Key Usage "KeyEncipherment" в сертификате получателя. Она требовалась, поскольку стандартный Cipher проверяет этот бит. Понял, спасибо
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
В последних версиях в связи с доработками проверка была изменена на проверку бита keyagreement (согласование ключей). Попробуйте с одной из последних сборок. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.11.2020(UTC) Сообщений: 14 Откуда: NSK Сказал(а) «Спасибо»: 3 раз
|
Автор: Евгений Афанасьев В последних версиях в связи с доработками проверка была изменена на проверку бита keyagreement (согласование ключей). Попробуйте с одной из последних сборок. Добрый день! Что-то я затянул с ответом. Да, вы правы, на последних версия JCP/JCSP шифрование на таких сертификатах успешно проходит. Т.е. на сертифицированных версиях библиотек шифрование сертификатом без атрибута "Шифрование ключей" невозможно. На последних НЕ сертифицированных версиях шифрование доступно с атрибутом "Согласование ключей" и без атрибута "Шифрование ключей". Тут возник интересный момент. Если попытаться выполнить шифрование (например на версии JCSP 5.0.42898-A) сертификатом, у которого нет атрибута "Согласование ключей", то возникнет ошибка - Как я понял это можно исправить выставив системную настройку Цитата:ru.CryptoPro.key_agreement_validation=false Это валидный кейс в целом?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Автор: EugeneNSK Это валидный кейс в целом? Да, проверку можно отключить с помощью указанного свойства. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close