File tree Expand file tree Collapse file tree
main/java/org/jruby/ext/openssl Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -434,7 +434,7 @@ private String getPadding(final int padding) {
434434 if ( padding == 3 ) {
435435 p = "/ECB/NoPadding" ;
436436 } else if ( padding == 4 ) {
437- p = "/ECB/OAEPWithMD5AndMGF1Padding " ;
437+ p = "/ECB/OAEPWithSHA1AndMGF1Padding " ;
438438 } else if ( padding == 2 ) {
439439 p = "/ECB/ISO9796-1Padding" ;
440440 }
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
2727 OpenSSL ::Cipher . new 'PBEWithSHA1AndRC2_40-CBC' # Sun JCE
2828 #OpenSSL::Cipher.new 'RSA/ECB' # Sun JCE
2929 OpenSSL ::Cipher . new 'RSA/ECB/OAEPWITHSHA-512ANDMGF1PADDING' # Sun JCE
30+ OpenSSL ::Cipher . new 'RSA/ECB/OAEPWithSHA1AndMGF1Padding' # Sun JCE
3031 OpenSSL ::Cipher . new 'DESedeWrap/CBC/NOPADDING' # Sun JCE
3132 OpenSSL ::Cipher . new 'XTEA/CBC/PKCS7Padding' # BC
3233 OpenSSL ::Cipher . new 'Noekeon/CBC/ZeroBytePadding' # BC
@@ -349,4 +350,4 @@ def test_encrypt_aes_cfb_20_incompatibility
349350 end
350351 end
351352
352- end
353+ end
You can’t perform that action at this time.
0 commit comments