阅读特定的 DER 应用程序 (asn1-java-bouncycastle)

read a DER Application Specific (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 个元素的数组,但我无法更深入 谁能帮我? 非常感谢。

I can not go deeper Can anyone help me?

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

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

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

如何解释该数据,没有更多细节就不知道了。