Skip to content

using org.bouncycastle.asn1.ASN1Primitive.fromByteArray throw malformed integer error #577

Description

@jeffreyHZ

my code (bc1.60)
###################################################

String asn1DerStr = "MEUCIAAldUKhWOntPOtkLTasILDsO/yb856xuqRjhj7GYmBTAiEA5SwutrNtbjT2jb2K75boVtkXtN9NoO6FwN9UYMTF9h0=";
        byte[] signature = Base64.decode(asn1DerStr);

        // using sun.security.util.DerInputStream
        DerInputStream din=new DerInputStream(signature);
        DerValue[] value=din.getSequence(0);

        DerInputStream din1=new DerInputStream(value[0].toByteArray());

        System.out.println("BigInteger R:"+din1.getBigInteger());

        DerInputStream din2=new DerInputStream(value[1].toByteArray());

        System.out.println("BigInteger S:"+din2.getBigInteger());

        // using org.bouncycastle.asn1.ASN1Primitive.fromByteArray 
       //  thorw  java.lang.IllegalArgumentException: malformed integer error**

       ASN1Primitive.fromByteArray(Base64.decode(asn1DerStr));

####################################################

BigInteger R:66182642067710712729877272665458700927967223008706446127699131494534635603
BigInteger S:103657706002356414938841938896517993175947319776915171052666044982301919933981
Exception in thread "main" org.bouncycastle.asn1.ASN1Exception: corrupted stream detected
at org.bouncycastle.asn1.ASN1InputStream.readObject(Unknown Source)
at org.bouncycastle.asn1.ASN1InputStream.buildEncodableVector(Unknown Source)
at org.bouncycastle.asn1.ASN1InputStream.buildDEREncodableVector(Unknown Source)
at org.bouncycastle.asn1.ASN1InputStream.buildObject(Unknown Source)
at org.bouncycastle.asn1.ASN1InputStream.readObject(Unknown Source)
at org.bouncycastle.asn1.ASN1Primitive.fromByteArray(Unknown Source)
at com.szca.caau.webservice.test.CasCertVerifyDemo.parseSignature(CasCertVerifyDemo.java:32)
at com.szca.caau.webservice.test.CasCertVerifyDemo.main(CasCertVerifyDemo.java:40)
Caused by: java.lang.IllegalArgumentException: malformed integer
at org.bouncycastle.asn1.ASN1Integer.(Unknown Source)
at org.bouncycastle.asn1.ASN1InputStream.createPrimitiveDERObject(Unknown Source)
at org.bouncycastle.asn1.ASN1InputStream.buildObject(Unknown Source)
... 8 more

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions