|
38 | 38 | import org.bouncycastle.asn1.ASN1EncodableVector; |
39 | 39 | import org.bouncycastle.asn1.ASN1Encoding; |
40 | 40 | import org.bouncycastle.asn1.ASN1Integer; |
| 41 | +import org.bouncycastle.asn1.ASN1Object; |
41 | 42 | import org.bouncycastle.asn1.ASN1ObjectIdentifier; |
42 | 43 | import org.bouncycastle.asn1.ASN1OctetString; |
43 | 44 | import org.bouncycastle.asn1.ASN1Primitive; |
@@ -426,10 +427,10 @@ public RubyString value(final ThreadContext context) { |
426 | 427 | for ( int i = 0; i < size; i++ ) { |
427 | 428 | final ASN1Encodable enc = seq.getObjectAt(i); |
428 | 429 | if (enc instanceof ASN1TaggedObject) { |
429 | | - ASN1Primitive obj = ((ASN1TaggedObject) enc).getObject(); |
| 430 | + ASN1Primitive obj = ((ASN1TaggedObject) enc).getBaseObject().toASN1Primitive(); |
430 | 431 | switch( ((ASN1TaggedObject) enc).getTagNo() ) { |
431 | 432 | case 0 : |
432 | | - ASN1Primitive keyid = obj; |
| 433 | + ASN1Primitive keyid = obj.toASN1Primitive(); |
433 | 434 | val.append(keyid_); |
434 | 435 | hexBytes( keyidBytes(keyid), val ); |
435 | 436 | break; |
@@ -595,7 +596,7 @@ private RubyString rawValueAsString(final ThreadContext context) throws IOExcept |
595 | 596 |
|
596 | 597 | private static byte[] keyidBytes(ASN1Primitive keyid) throws IOException { |
597 | 598 | if ( keyid instanceof ASN1TaggedObject ) { |
598 | | - keyid = ((ASN1TaggedObject) keyid).getObject(); |
| 599 | + keyid = ((ASN1TaggedObject) keyid).getBaseObject().toASN1Primitive(); |
599 | 600 | } |
600 | 601 | if ( keyid instanceof ASN1OctetString ) { |
601 | 602 | return ((ASN1OctetString) keyid).getOctets(); |
|
0 commit comments