File tree Expand file tree Collapse file tree 4 files changed +40
-2
lines changed
main/java/org/jruby/ext/openssl Expand file tree Collapse file tree 4 files changed +40
-2
lines changed Original file line number Diff line number Diff line change @@ -434,7 +434,7 @@ private String getPadding(final int padding) {
434
434
if ( padding == 3 ) {
435
435
p = "/ECB/NoPadding" ;
436
436
} else if ( padding == 4 ) {
437
- p = "/ECB/OAEPWithMD5AndMGF1Padding " ;
437
+ p = "/ECB/OAEPWithSHA1AndMGF1Padding " ;
438
438
} else if ( padding == 2 ) {
439
439
p = "/ECB/ISO9796-1Padding" ;
440
440
}
Original file line number Diff line number Diff line change
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIICXAIBAAKBgQDo6m+QZvYQ/xL0ElLgupK1QDcYL4f5PckwsNgS9pUvV7fzTqCH
3
+ k8ThLxTk42MQ2McJsOeUJVP728KhymjFCqxgP4VuwRk9rpAl0+mhy6MPdyjyA6G1
4
+ 4jrDWS65ysLchK4t/vwpEDz0SQlEoG1kMzllSm7zZS3XregA7DjNaUYQqwIDAQAB
5
+ AoGBALGR6bRBit+yV5TUU3MZSrf8WQSLWDLgs/33FQSAEYSib4+DJke2lKbI6jkG
6
+ UoSJgFUXFbaQLtMY2+3VDsMKPBdAge9gIdvbkC4yoKjLGm/FBDOxxZcfLpR+9OPq
7
+ U3qM9D0CNuliBWI7Je+p/zs09HIYucpDXy9E18KA1KNF6rfhAkEA9KoNam6wAKnm
8
+ vMzz31ws3RuIOUeo2rx6aaVY95+P9tTxd6U+pNkwxy1aCGP+InVSwlYNA1aQ4Axi
9
+ /GdMIWMkxwJBAPO1CP7cQNZQmu7yusY+GUObDII5YK9WLaY4RAicn5378crPBFxv
10
+ Ukqf9G6FHo7u88iTCIp+vwa3Hn9Tumg3iP0CQQDgUXWBasCVqzCxU5wY4tMDWjXY
11
+ hpoLCpmVeRML3dDJt004rFm2HKe7Rhpw7PTZNQZOxUSjFeA4e0LaNf838UWLAkB8
12
+ QfbHM3ffjhOg96PhhjINdVWoZCb230LBOHj/xxPfUmFTHcBEfQIBSJMxcrBFAnLL
13
+ 9qPpMXymqOFk3ETz9DTlAj8E0qGbp78aVbTOtuwEwNJII+RPw+Zkc+lKR+yaWkAz
14
+ fIXw527NPHH3+rnBG72wyZr9ud4LAum9jh+5No1LQpk=
15
+ -----END RSA PRIVATE KEY-----
Original file line number Diff line number Diff line change
1
+ # coding: US-ASCII
2
+ require 'base64'
3
+ class TestOaep < TestCase
4
+
5
+ def setup
6
+ super
7
+ self . class . disable_security_restrictions!
8
+ end
9
+
10
+ def test_oaep_decrypt
11
+ key = File ::read ( File . join ( File . dirname ( __FILE__ ) , 'encrypted.key' ) )
12
+ base64_cipher_text = "s+ydnGyGfJlH6FPB21tYeAeeMKcqLuybw7lxArZIEGRjMNSn2LHNzUEwX/H6FQan5lKQPZxxU1tBuFP6sP27ektEIXgoIQm+PdxilJnNPVoDA9Wff93MMa9JG3VMsc0kbUNMmJf6SQcJ+IB3OyBPZfPrz6wbkwM2zVm9Y/oqFWM="
13
+
14
+ # create cleaned up key object
15
+ key = OpenSSL ::PKey ::RSA . new ( key )
16
+
17
+ cipher_text = Base64 . decode64 ( base64_cipher_text )
18
+ assert_nothing_raised {
19
+ decrypted = key . private_decrypt ( cipher_text , OpenSSL ::PKey ::RSA ::PKCS1_OAEP_PADDING )
20
+ }
21
+ end
22
+ end
Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ def test_cipher_extended_support
27
27
OpenSSL ::Cipher . new 'PBEWithSHA1AndRC2_40-CBC' # Sun JCE
28
28
#OpenSSL::Cipher.new 'RSA/ECB' # Sun JCE
29
29
OpenSSL ::Cipher . new 'RSA/ECB/OAEPWITHSHA-512ANDMGF1PADDING' # Sun JCE
30
+ OpenSSL ::Cipher . new 'RSA/ECB/OAEPWithSHA1AndMGF1Padding' # Sun JCE
30
31
OpenSSL ::Cipher . new 'DESedeWrap/CBC/NOPADDING' # Sun JCE
31
32
OpenSSL ::Cipher . new 'XTEA/CBC/PKCS7Padding' # BC
32
33
OpenSSL ::Cipher . new 'Noekeon/CBC/ZeroBytePadding' # BC
@@ -349,4 +350,4 @@ def test_encrypt_aes_cfb_20_incompatibility
349
350
end
350
351
end
351
352
352
- end
353
+ end
You can’t perform that action at this time.
0 commit comments