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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Николай МойОфис  
#1 Оставлено : 15 февраля 2025 г. 20:48:21(UTC)
Николай МойОфис

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

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

Здравствуйте.

Используем CryptoPro CSP SDK for Android R3 (5.0.49010) для встраивания в мобильное приложение.
Для шифрования контента используем код из примеров в документации

Но при вызове envelopedSignature.addKeyTransRecipient возникает исключение "ru.CryptoPro.CAdES.exception.EnvelopedException: Wrong key usage."
Код:

try {
    EnvelopedSignature envelopedSignature = new EnvelopedSignature(EncryptionKeyAlgorithm.ekaDefault);

    for (Object cert : certs)
    {
        if (((CertContainer) cert).x509Cert().getKeyUsage()[4]) {
            envelopedSignature.addKeyAgreeRecipient(((CertContainer) cert).x509Cert());
        } else {
            envelopedSignature.addKeyTransRecipient(((CertContainer) cert).x509Cert());
        }
    }
    ...
} catch (Exception e) {
    ... // <-- вот тут получаем "ru.CryptoPro.CAdES.exception.EnvelopedException: Wrong key usage."
}


Stacktrace не очень информативен для меня
Код:

ru.CryptoPro.CAdES.exception.EnvelopedException: Wrong key usage.
    at ru.CryptoPro.CAdES.envelope.cl_0.a(Unknown Source:50)
    at ru.CryptoPro.CAdES.envelope.cl_0.addKeyTransRecipient(Unknown Source:1)
    at com.ncloudtech.crypto.gost.CmsEnvelopeManager.encrypt(CmsEnvelopeManager.java:139)



Предположительно код работал корректно на версии "5.0.42506".

Сертификаты выписываем через тестовый УЦ ООО "КРИПТО-ПРО"

Используемый сертификат Neo.cer.zip (2kb) загружен 2 раз(а).

Что мы делаем не так?

С уважением,
Николай.

Отредактировано пользователем 15 февраля 2025 г. 20:55:30(UTC)  | Причина: Не указана

Offline Николай МойОфис  
#2 Оставлено : 17 февраля 2025 г. 15:17:55(UTC)
Николай МойОфис

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

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

Выяснилось что в 5.0.49010 в addKeyTransRecipient добилась проверка
Код:

if (!EnvelopedUtility.isKeyAgreementValidationEnabled) {
    return true;
}


Однако в сертификатах, которые выдает УЦ ООО "КРИПТО-ПРО" нет Key Agreement

Подскажите пожалуйста, насколько критична эта проверка и почему ее не было в версии 5.0.42506 ?

Есть какой-нибудь другой тестовых УЦ, который выдает сертификаты с Key Agreement ?

С уважением,
Николай.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.