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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline vlihachev13  
#1 Оставлено : 26 ноября 2019 г. 18:54:59(UTC)
vlihachev13

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

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

Сказал(а) «Спасибо»: 1 раз
Здравствуйте.
Столкнулись с проблемой при шифровании сообщения на открытом ключе из сертификата Vipnet.
Алгоритм открытого ключа: ГОСТ Р 34.10-2012 512 бит
Если использовать сертификат от vipnet с алгоритмом открытого ключа ГОСТ Р 34.10-2012 256 бит то все проходит успешно.
Так же все успешно если используются сертификаты криптопро с алгоритмом открытого ключа ГОСТ Р 34.10-2012 256 и 512 бит.

Версия JCP 2.0.39014
Текст ошибки получаем следующий:
Error decoding(163):
30 81 A0 30 17 06 08 2A 85 03 07 01 01 01 02 30 0B 06 09 2A 85 03 07 01 02 01 02 01 03 81 84 00 04 81 80 EA 38 B2 A4 57 C6 30 15 CC 67 1E 93 D1 36 83 93 66 23 4F 68 D2 90 19 ED 94 0E 3A ED B9 81 56 A1 D2 CE CF 03 3C 3B 19 97 E3 7E 4B B9 89 80 43 6A FA 98 11 1C 24 8F 44 4C 0C DC 72 4F 0A 00 45 B1 5F F8 64 A3 63 5D 78 7A 1A 4E 9F DF 19 AC 4D BC CE 94 D0 A4 8E 47 A2 73 56 F8 9E 82 FE FF CB A7 95 90 13 52 D9 27 C4 08 21 B1 A7 8E C8 8D B2 64 BB 8B 90 9F C0 C8 72 8F 8E 2E 6C 35 A8 9E 6F 5A
com.objsys.asn1j.runtime.Asn1Exception: table constraint: parameters decode failed
at ru.CryptoPro.JCP.ASN.PKIX1Explicit88.AlgorithmIdentifier.checkTC(AlgorithmIdentifier.java:166)
at ru.CryptoPro.JCP.ASN.PKIX1Explicit88.AlgorithmIdentifier.decode(AlgorithmIdentifier.java:112)


Получается что не может прочитать значение параметров открытого ключа.

Для сравнения посмотрел параметры алгоритма открытого ключа в разных сертификатах и обнаружил:
КриптоПро 512 бит:
Алгоритм открытого ключа:
ObjectID алгоритма: 1.2.643.7.1.1.1.2 ГОСТ Р 34.10-2012 512 бит
Параметры алгоритма:
0000 30 15 06 09 2a 85 03 07 01 02 01 02 01 06 08 2a
0010 85 03 07 01 01 02 03
1.2.643.7.1.2.1.2.1 ГОСТ Р 34.10-2012 512 бит, параметры по умолчанию
1.2.643.7.1.1.2.3 ГОСТ Р 34.11-2012 512 бит

Випнет 256 бит:
Алгоритм открытого ключа:
ObjectID алгоритма: 1.2.643.7.1.1.1.1 ГОСТ Р 34.10-2012 256 бит
Параметры алгоритма:
0000 30 13 06 07 2a 85 03 02 02 23 01 06 08 2a 85 03
0010 07 01 01 02 02
1.2.643.2.2.35.1 ГОСТ Р 34.10 256 бит, параметры по умолчанию
1.2.643.7.1.1.2.2 ГОСТ Р 34.11-2012 256 бит

Випнет 512 бит (с которым и возникает ошибка):
Алгоритм открытого ключа:
ObjectID алгоритма: 1.2.643.7.1.1.1.2 ГОСТ Р 34.10-2012 512 бит
Параметры алгоритма:
30 0b 06 09 2a 85 03 07 01 02 01 02 01
1.2.643.7.1.2.1.2.1 ГОСТ Р 34.10-2012 512 бит, параметры по умолчанию

Т.е. не хватает одного параметра алгоритма, подскажите может ли именно это вызывать ошибку или проблема может заключаться в чем то другом?

Для примера выкладываю тестовый сертификат на котором возникает ошибка

vipnet512.zip (1kb) загружен 6 раз(а).
Offline two_oceans  
#2 Оставлено : 27 ноября 2019 г. 5:51:36(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Добрый день.
Полагаю, что догадка верна и спотыкается на этом месте. Суть в том, что параметры алгоритма парсятся и обрабатываются конкретным криптопровайдером, а не самим CryptoApi.

thanks 1 пользователь поблагодарил two_oceans за этот пост.
vlihachev13 оставлено 27.11.2019(UTC)
Offline vlihachev13  
#3 Оставлено : 28 ноября 2019 г. 13:35:44(UTC)
vlihachev13

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: two_oceans Перейти к цитате
Добрый день.
Полагаю, что догадка верна и спотыкается на этом месте. Суть в том, что параметры алгоритма парсятся и обрабатываются конкретным криптопровайдером, а не самим CryptoApi.



Изучив тему дальше, выяснилось что сертификаты от випнет соответствуют спецификации от 01.06.2019 Р 1323565.1.023-2018 «Информационная технология. Криптографическая защита информации. Использование алгоритмов ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012 в сертификате, списке аннулированных сертификатов (CRL) и запросе на сертификат PKCS #10 инфраструктуры открытых ключей X.509», в которой прописано: “Данное поле(параметры хеширования) не рекомендуется включать, если используется алгоритм подписи ГОСТ Р 34.10-2012 с длиной ключа 512 бит;”

Таким образом получается что сертификат от випнет с длиной ключа 512 Бит соответствует этой спецификации, а вот JCP последней версии 2.0.40502 не умеет с такими ключами работать.
Offline Евгений Афанасьев  
#4 Оставлено : 2 декабря 2019 г. 12:08:07(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
Да, с подобными открытыми ключами, к сожалению, могут быть проблемы, исправим работу в следующих сборках.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.