0

我正在尝试使用 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 个元素组成的数组,但我不能更深入 谁能帮助我?非常感谢。

4

1 回答 1

2

我无法更深入 谁能帮助我?

正如对象名称所暗示的那样,它很可能不是特定于应用程序的。

21在字符串输出中表示tag值,而不是子元素的数量。

您可以调用getContents()以获取底层字节数组并getApplicationTag()获取标签值(在您的情况下为 21)。

如何解释这些数据,没有更多细节就不得而知了。

于 2017-11-21T10:11:03.450 回答