File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed
util/src/main/java/org/bouncycastle/asn1/cmp Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -53,7 +53,7 @@ private Challenge(ASN1Sequence seq)
5353 {
5454 int index = 0 ;
5555
56- if (seq .getObjectAt (0 ) instanceof ASN1Sequence )
56+ if (seq .getObjectAt (0 ). toASN1Primitive () instanceof ASN1Sequence )
5757 {
5858 owf = AlgorithmIdentifier .getInstance (seq .getObjectAt (index ++));
5959 }
@@ -65,16 +65,15 @@ private Challenge(ASN1Sequence seq)
6565 witness = ASN1OctetString .getInstance (seq .getObjectAt (index ++));
6666 challenge = ASN1OctetString .getInstance (seq .getObjectAt (index ++));
6767 if (seq .size () > index )
68- {
69- encryptedRand = EnvelopedData .getInstance (ASN1TaggedObject .getInstance (seq .getObjectAt (index )), true );
70- }
71- else
7268 {
7369 if (challenge .getOctets ().length != 0 )
7470 {
7571 throw new IllegalArgumentException ("ambigous challenge" );
7672 }
77-
73+ encryptedRand = EnvelopedData .getInstance (ASN1TaggedObject .getInstance (seq .getObjectAt (index )), true );
74+ }
75+ else
76+ {
7877 encryptedRand = null ;
7978 }
8079 }
@@ -180,7 +179,10 @@ public ASN1Primitive toASN1Primitive()
180179 v .addOptional (owf );
181180 v .add (witness );
182181 v .add (challenge );
183- v .addOptional (new DERTaggedObject (0 , encryptedRand ));
182+ if (encryptedRand != null )
183+ {
184+ v .add (new DERTaggedObject (0 , encryptedRand ));
185+ }
184186
185187 return new DERSequence (v );
186188 }
You can’t perform that action at this time.
0 commit comments