解析ASN1编码的整数

时间:2018-05-24 03:43:59

标签: java bouncycastle

我有这样的数据序列

SEQUENCE(2 elem)

OBJECT IDENTIFIER1.3.6.1.4.1.41482.3.7

OCTET STRING(1 elem)

INTEGER7029542

我可以得到十六进制的OctectString是02036b4326 02我认为是整数标记,03是长度,6b4326是整数的十六进制值 试图找出是否有内置的Bouncy Castle库,我可以传递十六进制值或DEROCTECTString,并能够获得整数值。

1 个答案:

答案 0 :(得分:2)

我想我找到了答案,看起来你必须创建一个新的ASN1InputStream并将OCTECT String的值传递给它,然后作为ASN1Integer读回

类似这样的事情

ASN1InputStream asn1InputStream = new SN1InputStream(attestationExtensionBytes);
DEROctetString octString=(DEROctetString) asn1InputStream.readObject();
byte[] octectBytes=octString.getOctets();
asn1InputStream =new ASN1InputStream (octectBytes);
ASN1Integer asn1Integer=(ASN1Integer)asn1InputStream.readObject();