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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline defomin  
#1 Оставлено : 1 декабря 2015 г. 19:48:37(UTC)
defomin

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

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

Здравствуйте.
Имеется JCP 1.0.54 36641. Для разбора подается файл подписи в Base64, после чего декодируется и из него достается информация о подписанте.
Пример кода который используется:
Код:

import ru.CryptoPro.JCP.tools.Decoder;
import com.objsys.asn1j.runtime.Asn1BerDecodeBuffer;
import ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo;
....

String sign64 = "подпись_в_кодировке_base64";
Decoder decoder = new Decoder();
byte[] sign = decoder.decodeBuffer(sign64);

// Пробуем разобрать ASN1
Asn1BerDecodeBuffer asnBuf = new Asn1BerDecodeBuffer(sign);
ContentInfo all = new ContentInfo();
all.decode(asnBuf);

// Получаем информацию из подписи
SignedData cms = (SignedData) all.content;


При обработке получаем ошибку:
com.objsys.asn1j.runtime.Asn1TagMatchFailedException: ASN.1 decode error @ offset 0:
Tag match failed: expected [UNIVERSAL 19], parsed [UNIVERSAL 12]
at com.objsys.asn1j.runtime.Asn1Type.matchTag(Asn1Type.java:449)
at com.objsys.asn1j.runtime.Asn1Type.matchTag(Asn1Type.java:466)
at com.objsys.asn1j.runtime.Asn1CharString.decode(Asn1CharString.java:94)
at com.objsys.asn1j.runtime.Asn1PrintableString.decode(Asn1PrintableString.java:69)
at ru.CryptoPro.JCP.ASN.PKIX1Explicit88.AttributeTypeAndValue.checkTC(AttributeTypeAndValue.java:135)
at ru.CryptoPro.JCP.ASN.PKIX1Explicit88.AttributeTypeAndValue.decode(AttributeTypeAndValue.java:89)
at ru.CryptoPro.JCP.ASN.PKIX1Explicit88.RelativeDistinguishedName.decode(RelativeDistinguishedName.java:52)
at ru.CryptoPro.JCP.ASN.PKIX1Explicit88.RDNSequence.decode(RDNSequence.java:52)
at ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Name.decode(Name.java:52)
at ru.CryptoPro.JCP.ASN.PKIX1Explicit88.TBSCertificate.decode(TBSCertificate.java:179)
at ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Certificate.decode(Certificate.java:61)
at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.CertificateChoices.decode(CertificateChoices.java:65)
at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.CertificateSet.decode(CertificateSet.java:53)
at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.SignedData.decode(SignedData.java:155)
at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.checkTC(ContentInfo.java:137)
at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.decode(ContentInfo.java:90)
at com.objsys.asn1j.runtime.Asn1Type.decode(Asn1Type.java:218)
at /* строка с all.decode(asnBuf); */

com.objsys.asn1j.runtime.Asn1Exception: table constraint: content decode failed
at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.checkTC(ContentInfo.java:141)
at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.decode(ContentInfo.java:90)
at com.objsys.asn1j.runtime.Asn1Type.decode(Asn1Type.java:218)

Возможно, кто-то сталкивался с такой проблемой и знает как это решить?

sign64.txt (5kb) загружен 4 раз(а).
Offline Евгений Афанасьев  
#2 Оставлено : 1 декабря 2015 г. 20:19:09(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Здравствуйте.
Попробуйте для начала запустить тот же самый пример, используя JCP 2.0: с момента выпуска 1.0.54 было немало исправлений в asn1 модуле.
Offline defomin  
#3 Оставлено : 2 декабря 2015 г. 15:56:17(UTC)
defomin

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

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

Спасибо за ответ. Поставил JCP 2.0 38481, но ошибка осталась та же.
Код:

com.objsys.asn1j.runtime.Asn1TagMatchFailedException: ASN.1 decode error @ offset 0:
Tag match failed: expected [UNIVERSAL 19], parsed [UNIVERSAL 12]
.....
com.objsys.asn1j.runtime.Asn1Exception: table constraint: content decode failed
Offline defomin  
#4 Оставлено : 2 декабря 2015 г. 17:24:34(UTC)
defomin

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

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

В самой подписи обнаружился один момент. Параметр CountryName указывается как
OBJECT IDENTIFIER 2.5.4.6
UTF8String RU

Хотя в стандарте указано
countryName ATTRIBUTE ::= { name
SUBTYPE OF CountryName
WITH SYNTAX TRUE
SINGLE VALUE id-at-countryName }
ID
CountryName ::= PrintableString (SIZE(2)) -- ISO 3166-1/3 alpha-2 codes only
Offline Евгений Афанасьев  
#5 Оставлено : 2 декабря 2015 г. 20:35:25(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Offline defomin  
#6 Оставлено : 4 декабря 2015 г. 10:50:03(UTC)
defomin

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

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

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