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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline omikheev  
#1 Оставлено : 1 ноября 2010 г. 19:14:10(UTC)
omikheev

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

Группы: Участники
Зарегистрирован: 22.10.2010(UTC)
Сообщений: 6
Откуда: SPb

Господа,

Генерируем подпись с помощью COM-объекта.
Получаем файлики (приаттачены) sample11.p7s (это с включенным контентом) и sample1.p7s
Запускаем следующую программу (используя последний JCP 1.0.47):

public class Q {
public static void main(String[] args) throws Exception {
byte[] p7sBytes = Array.readFile("/mnt/winshare/sample11.p7s");
final Asn1BerDecodeBuffer asnBuf = new Asn1BerDecodeBuffer(p7sBytes);
final ContentInfo all = new ContentInfo();
all.decode(asnBuf); <----- здесь валится
System.out.println("all.content = " + all.content);
}
}

Программка валится (на обоих файликах) со следующим сообщением:

Exception in thread "main" com.objsys.asn1j.runtime.Asn1TagMatchFailedException: ASN.1 decode error @ offset 0:
Tag match failed: expected [UNIVERSAL 16], parsed [APPLICATION 13]
at com.objsys.asn1j.runtime.Asn1Type.matchTag(Asn1Type.java:49)
at com.objsys.asn1j.runtime.Asn1Type.matchTag(Asn1Type.java:65)
at ru.CryptoPro.JCP.ASN.CryptographicMessageSyntax.ContentInfo.decode(ContentInfo.java:55)
at com.objsys.asn1j.runtime.Asn1Type.decode(Asn1Type.java:15)
at Q.main(Q.java:14)
Вложение(я):
sample1.p7s (2kb) загружен 19 раз(а).
sample11.p7s (2kb) загружен 18 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline Iva  
#2 Оставлено : 1 ноября 2010 г. 22:57:47(UTC)
Iva

Статус: Активный участник

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

Ваш файл закодирован в base64. Раскодируйте base64, а потом CMS, как-то так:
Код:
byte[] encodedBytes = Array.readFile("D:\\Job\\JCP\\tmp\\sample11.p7s");
byte[] bytes = (new ru.CryptoPro.JCP.tools.Decoder()).decodeBuffer(new String (encodedBytes));

Asn1BerDecodeBuffer asnBuf = new Asn1BerDecodeBuffer(bytes);
ContentInfo all = new ContentInfo();
all.decode(asnBuf);

Второй файл sample1.p7s не скачивается.
Offline omikheev  
#3 Оставлено : 2 ноября 2010 г. 20:29:06(UTC)
omikheev

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

Группы: Участники
Зарегистрирован: 22.10.2010(UTC)
Сообщений: 6
Откуда: SPb

Iva написал:
Ваш файл закодирован в base64. Раскодируйте base64


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