File tree Expand file tree Collapse file tree 2 files changed +20
-1
lines changed
main/java/org/jruby/ext/openssl Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -1683,7 +1683,7 @@ private static BigInteger bigIntegerValue(final IRubyObject val) {
1683
1683
if ( val instanceof RubyInteger ) { // RubyBignum
1684
1684
return ((RubyInteger ) val ).getBigIntegerValue ();
1685
1685
}
1686
- if ( val instanceof BN ) ((BN ) val ).getValue ();
1686
+ if ( val instanceof BN ) return ((BN ) val ).getValue ();
1687
1687
return new BigInteger ( val .asString ().getBytes () );
1688
1688
}
1689
1689
Original file line number Diff line number Diff line change @@ -505,6 +505,25 @@ def test_decode_application_specific
505
505
# assert_equal raw, asn1.to_der
506
506
end
507
507
508
+
509
+ def test_encode_der_integer_wrapped
510
+ asn1 = OpenSSL ::ASN1 ::Sequence ( [ OpenSSL ::ASN1 ::Integer ( 42 ) , OpenSSL ::ASN1 ::Integer ( 84 ) ] )
511
+
512
+ der = "0\x06 \x02 \x01 *\x02 \x01 T"
513
+ assert_equal der , asn1 . to_der
514
+
515
+ asn1 = OpenSSL ::ASN1 ::Sequence ( [ OpenSSL ::ASN1 ::Integer ( OpenSSL ::BN . new ( 42 ) ) , OpenSSL ::ASN1 ::Integer ( OpenSSL ::BN . new ( 84 ) ) ] )
516
+
517
+ der = "0\x06 \x02 \x01 *\x02 \x01 T"
518
+ assert_equal der , asn1 . to_der
519
+
520
+ i = OpenSSL ::ASN1 ::Integer ( OpenSSL ::BN . new ( '1234567890' ) )
521
+ assert_equal 1234567890 , i . value . to_i
522
+
523
+ i = OpenSSL ::ASN1 ::Integer ( '12345678901234567890' )
524
+ assert_equal 12345678901234567890 , i . value . to_i
525
+ end
526
+
508
527
private
509
528
510
529
def assert_universal ( tag , asn1 , inf_len = false )
You can’t perform that action at this time.
0 commit comments