Прочитайте Специфическое приложение DER (asn1-java-bouncycastle)

Я пытаюсь перевести с библиотеками Bouncy Castle asn1 объект типа DER ApplicationSpecific (или, может быть, это массив?), Но я не могу перемещаться по структуре. С помощью простого следующего кода ( arr - мой байтовый массив)

ASN1InputStream bIn = new ASN1InputStream (new ByteArrayInputStream (
arr);
DERApplicationSpecific primitive = (DERApplicationSpecific) bIn.readObject 
();
System.out.println (ASN1Dump.dumpAsString (primitive));

Я получил этот отпечаток:

DER ApplicationSpecific [21] (432b30363a3435223b6461796c696768742d736176696e672d74696d653d223031223b6e6574776f726b2d70726f7669646564bf1f818f313d800103813832363230333036323436323439313737343632303535)

Я могу догадаться, что это массив из 21 элемента, но я не могу идти глубже. Кто-нибудь может мне помочь? Большое спасибо.

1 ответ

Решение

Я не могу идти глубже Кто-нибудь может мне помочь?

Скорее всего, нет, как предполагает название объекта, это зависит от конкретного приложения.

21 в строке вывода означает tag значение, а не количество подэлементов.

Ты можешь позвонить getContents() получить базовый байтовый массив и getApplicationTag() получить значение тега (21 в вашем случае).

Как интерпретировать эти данные, неизвестно без подробностей.

Другие вопросы по тегам