Skip to content

Commit 6c1c882

Browse files
unify how taggedobjects get decoded
1 parent e20132d commit 6c1c882

File tree

1 file changed

+7
-13
lines changed

1 file changed

+7
-13
lines changed

src/main/java/org/jruby/ext/openssl/ASN1.java

+7-13
Original file line numberDiff line numberDiff line change
@@ -1071,20 +1071,14 @@ else if ( obj instanceof ASN1GraphicString ) {
10711071
break;
10721072
}
10731073

1074-
if (taggedObj.getTagClass() == BERTags.APPLICATION) {
1075-
try {
1076-
final ASN1Sequence sequence = (ASN1Sequence) taggedObj.getBaseUniversal(false, SEQUENCE);
1077-
@SuppressWarnings("unchecked")
1078-
final RubyArray valArr = decodeObjects(context, ASN1, sequence.getObjects());
1079-
return ASN1.getClass("ASN1Data").newInstance(context, new IRubyObject[] { valArr, tag, tag_class }, Block.NULL_BLOCK);
1080-
} catch (IllegalStateException e) {
1081-
IRubyObject val = decodeObject(context, ASN1, taggedObj.getBaseObject()).callMethod(context, "value");
1082-
return ASN1.getClass("ASN1Data").newInstance(context, new IRubyObject[] { val, tag, tag_class }, Block.NULL_BLOCK);
1083-
}
1084-
} else {
1085-
IRubyObject val = decodeObject(context, ASN1, taggedObj.getBaseObject());
1086-
final RubyArray valArr = runtime.newArray(val);
1074+
try {
1075+
final ASN1Sequence sequence = (ASN1Sequence) taggedObj.getBaseUniversal(false, SEQUENCE);
1076+
@SuppressWarnings("unchecked")
1077+
final RubyArray valArr = decodeObjects(context, ASN1, sequence.getObjects());
10871078
return ASN1.getClass("ASN1Data").newInstance(context, new IRubyObject[] { valArr, tag, tag_class }, Block.NULL_BLOCK);
1079+
} catch (IllegalStateException e) {
1080+
IRubyObject val = decodeObject(context, ASN1, taggedObj.getBaseObject()).callMethod(context, "value");
1081+
return ASN1.getClass("ASN1Data").newInstance(context, new IRubyObject[] { val, tag, tag_class }, Block.NULL_BLOCK);
10881082
}
10891083
}
10901084

0 commit comments

Comments
 (0)