jruby-openssl 0.8.0.pre3 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. data/Manifest.txt +5 -124
  2. data/Rakefile +3 -3
  3. data/lib/shared/jopenssl.jar +0 -0
  4. data/lib/shared/jopenssl/version.rb +1 -1
  5. metadata +10 -116
  6. data/test/1.8/ssl_server.rb +0 -99
  7. data/test/1.8/test_asn1.rb +0 -212
  8. data/test/1.8/test_cipher.rb +0 -193
  9. data/test/1.8/test_config.rb +0 -290
  10. data/test/1.8/test_digest.rb +0 -88
  11. data/test/1.8/test_ec.rb +0 -128
  12. data/test/1.8/test_hmac.rb +0 -46
  13. data/test/1.8/test_ns_spki.rb +0 -59
  14. data/test/1.8/test_pair.rb +0 -149
  15. data/test/1.8/test_pkcs7.rb +0 -489
  16. data/test/1.8/test_pkey_rsa.rb +0 -49
  17. data/test/1.8/test_ssl.rb +0 -1032
  18. data/test/1.8/test_x509cert.rb +0 -277
  19. data/test/1.8/test_x509crl.rb +0 -253
  20. data/test/1.8/test_x509ext.rb +0 -99
  21. data/test/1.8/test_x509name.rb +0 -290
  22. data/test/1.8/test_x509req.rb +0 -195
  23. data/test/1.8/test_x509store.rb +0 -246
  24. data/test/1.8/utils.rb +0 -144
  25. data/test/1.9/ssl_server.rb +0 -81
  26. data/test/1.9/test_asn1.rb +0 -589
  27. data/test/1.9/test_bn.rb +0 -23
  28. data/test/1.9/test_buffering.rb +0 -88
  29. data/test/1.9/test_cipher.rb +0 -107
  30. data/test/1.9/test_config.rb +0 -288
  31. data/test/1.9/test_digest.rb +0 -118
  32. data/test/1.9/test_engine.rb +0 -15
  33. data/test/1.9/test_hmac.rb +0 -32
  34. data/test/1.9/test_ns_spki.rb +0 -50
  35. data/test/1.9/test_ocsp.rb +0 -47
  36. data/test/1.9/test_pair.rb +0 -257
  37. data/test/1.9/test_pkcs12.rb +0 -209
  38. data/test/1.9/test_pkcs7.rb +0 -156
  39. data/test/1.9/test_pkey_dh.rb +0 -72
  40. data/test/1.9/test_pkey_dsa.rb +0 -224
  41. data/test/1.9/test_pkey_ec.rb +0 -182
  42. data/test/1.9/test_pkey_rsa.rb +0 -244
  43. data/test/1.9/test_ssl.rb +0 -499
  44. data/test/1.9/test_ssl_session.rb +0 -327
  45. data/test/1.9/test_x509cert.rb +0 -217
  46. data/test/1.9/test_x509crl.rb +0 -221
  47. data/test/1.9/test_x509ext.rb +0 -69
  48. data/test/1.9/test_x509name.rb +0 -366
  49. data/test/1.9/test_x509req.rb +0 -150
  50. data/test/1.9/test_x509store.rb +0 -229
  51. data/test/1.9/utils.rb +0 -304
  52. data/test/cert_with_ec_pk.cer +0 -27
  53. data/test/fixture/ca-bundle.crt +0 -2794
  54. data/test/fixture/ca_path/72fa7371.0 +0 -19
  55. data/test/fixture/ca_path/verisign.pem +0 -19
  56. data/test/fixture/cacert.pem +0 -23
  57. data/test/fixture/cert_localhost.pem +0 -19
  58. data/test/fixture/common.pem +0 -48
  59. data/test/fixture/ids_in_subject_rdn_set.pem +0 -31
  60. data/test/fixture/imaps/cacert.pem +0 -60
  61. data/test/fixture/imaps/server.crt +0 -61
  62. data/test/fixture/imaps/server.key +0 -15
  63. data/test/fixture/key_then_cert.pem +0 -34
  64. data/test/fixture/keypair.pem +0 -27
  65. data/test/fixture/localhost_keypair.pem +0 -18
  66. data/test/fixture/max.pem +0 -29
  67. data/test/fixture/purpose/b70a5bc1.0 +0 -24
  68. data/test/fixture/purpose/ca/PASSWD_OF_CA_KEY_IS_1234 +0 -0
  69. data/test/fixture/purpose/ca/ca_config.rb +0 -37
  70. data/test/fixture/purpose/ca/cacert.pem +0 -24
  71. data/test/fixture/purpose/ca/newcerts/2_cert.pem +0 -19
  72. data/test/fixture/purpose/ca/newcerts/3_cert.pem +0 -19
  73. data/test/fixture/purpose/ca/newcerts/4_cert.pem +0 -19
  74. data/test/fixture/purpose/ca/private/cakeypair.pem +0 -30
  75. data/test/fixture/purpose/ca/serial +0 -1
  76. data/test/fixture/purpose/cacert.pem +0 -24
  77. data/test/fixture/purpose/scripts/gen_cert.rb +0 -127
  78. data/test/fixture/purpose/scripts/gen_csr.rb +0 -50
  79. data/test/fixture/purpose/scripts/init_ca.rb +0 -66
  80. data/test/fixture/purpose/sslclient.pem +0 -19
  81. data/test/fixture/purpose/sslclient/csr.pem +0 -10
  82. data/test/fixture/purpose/sslclient/keypair.pem +0 -15
  83. data/test/fixture/purpose/sslclient/sslclient.pem +0 -19
  84. data/test/fixture/purpose/sslserver.pem +0 -19
  85. data/test/fixture/purpose/sslserver/csr.pem +0 -10
  86. data/test/fixture/purpose/sslserver/keypair.pem +0 -15
  87. data/test/fixture/purpose/sslserver/sslserver.pem +0 -19
  88. data/test/fixture/purpose/sslserver_no_dsig_in_keyUsage.pem +0 -19
  89. data/test/fixture/selfcert.pem +0 -23
  90. data/test/fixture/verisign.pem +0 -19
  91. data/test/fixture/verisign_c3.pem +0 -14
  92. data/test/ref/a.out +0 -0
  93. data/test/ref/compile.rb +0 -8
  94. data/test/ref/pkcs1 +0 -0
  95. data/test/ref/pkcs1.c +0 -21
  96. data/test/ruby/envutil.rb +0 -208
  97. data/test/ruby/ut_eof.rb +0 -128
  98. data/test/test_all.rb +0 -1
  99. data/test/test_certificate.rb +0 -132
  100. data/test/test_cipher.rb +0 -197
  101. data/test/test_imaps.rb +0 -107
  102. data/test/test_integration.rb +0 -144
  103. data/test/test_openssl.rb +0 -4
  104. data/test/test_parse_certificate.rb +0 -27
  105. data/test/test_pkcs7.rb +0 -56
  106. data/test/test_pkey_dsa.rb +0 -180
  107. data/test/test_pkey_rsa.rb +0 -329
  108. data/test/test_ssl.rb +0 -97
  109. data/test/test_x509store.rb +0 -168
@@ -1,4 +0,0 @@
1
- files = File.join(File.dirname(__FILE__), (RUBY_VERSION >= '1.9.0' ? '1.9' : '1.8'), 'test_*.rb')
2
- Dir.glob(files).sort.each do |tc|
3
- require tc
4
- end
@@ -1,27 +0,0 @@
1
- require 'openssl'
2
- require "test/unit"
3
-
4
- class TestParseCertificate < Test::Unit::TestCase
5
- CERT = File.dirname(__FILE__) + '/cert_with_ec_pk.cer'
6
-
7
- def test_certificate_parse_works_with_ec_pk_cert
8
- cer = OpenSSL::X509::Certificate.new(File.read(CERT))
9
- assert cer.to_s != nil
10
- assert cer.issuer.to_s != nil
11
- assert cer.subject.to_s != nil
12
- assert cer.extensions.to_s != nil
13
- end
14
-
15
- def test_certificate_with_ec_pk_cert_fails_requesting_pk
16
- cer = OpenSSL::X509::Certificate.new(File.read(CERT))
17
- assert_raise(OpenSSL::X509::CertificateError) { cer.public_key }
18
- end
19
-
20
- def test_loading_key_raise_certificate_error
21
- key_file = File.expand_path('fixture/keypair.pem', File.dirname(__FILE__))
22
- assert_raises(OpenSSL::X509::CertificateError) do
23
- OpenSSL::X509::Certificate.new(File.read(key_file))
24
- end
25
- end
26
- end
27
-
@@ -1,56 +0,0 @@
1
- require 'openssl'
2
- require "test/unit"
3
-
4
- class TestPkcs7 < Test::Unit::TestCase
5
-
6
- CERT_PEM = <<END
7
- -----BEGIN CERTIFICATE-----
8
- MIIC8zCCAdugAwIBAgIBATANBgkqhkiG9w0BAQQFADA9MRMwEQYKCZImiZPyLGQB
9
- GRYDb3JnMRkwFwYKCZImiZPyLGQBGRYJcnVieS1sYW5nMQswCQYDVQQDDAJDQTAe
10
- Fw0wOTA1MjMxNTAzNDNaFw0wOTA1MjMxNjAzNDNaMD0xEzARBgoJkiaJk/IsZAEZ
11
- FgNvcmcxGTAXBgoJkiaJk/IsZAEZFglydWJ5LWxhbmcxCzAJBgNVBAMMAkNBMIIB
12
- IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuV9ht9J7k4NBs38jOXvvTKY9
13
- gW8nLICSno5EETR1cuF7i4pNs9I1QJGAFAX0BEO4KbzXmuOvfCpD3CU+Slp1enen
14
- fzq/t/e/1IRW0wkJUJUFQign4CtrkJL+P07yx18UjyPlBXb81ApEmAB5mrJVSrWm
15
- qbjs07JbuS4QQGGXLc+Su96DkYKmSNVjBiLxVVSpyZfAY3hD37d60uG+X8xdW5v6
16
- 8JkRFIhdGlb6JL8fllf/A/blNwdJOhVr9mESHhwGjwfSeTDPfd8ZLE027E5lyAVX
17
- 9KZYcU00mOX+fdxOSnGqS/8JDRh0EPHDL15RcJjV2J6vZjPb0rOYGDoMcH+94wID
18
- AQABMA0GCSqGSIb3DQEBBAUAA4IBAQB8UTw1agA9wdXxHMUACduYu6oNL7pdF0dr
19
- w7a4QPJyj62h4+Umxvp13q0PBw0E+mSjhXMcqUhDLjrmMcvvNGhuh5Sdjbe3GI/M
20
- 3lCC9OwYYIzzul7omvGC3JEIGfzzdNnPPCPKEWp5X9f0MKLMR79qOf+sjHTjN2BY
21
- SY3YGsEFxyTXDdqrlaYaOtTAdi/C+g1WxR8fkPLefymVwIFwvyc9/bnp7iBn7Hcw
22
- mbxtLPbtQ9mURT0GHewZRTGJ1aiTq9Ag3xXME2FPF04eFRd3mclOQZNXKQ+LDxYf
23
- k0X5FeZvsWf4srFxoVxlcDdJtHh91ZRpDDJYGQlsUm9CPTnO+e4E
24
- -----END CERTIFICATE-----
25
- END
26
-
27
- def test_pkcs7_des3_key_generation_for_encrypt
28
- # SunJCE requires DES/DES3 keybits = 21/168 for key generation.
29
- # BC allows 24/192 keybits and treats it as 21/168.
30
- msg = "Hello World"
31
- password = "password"
32
- cert = OpenSSL::X509::Certificate.new(CERT_PEM)
33
- certs = [cert]
34
- cipher = OpenSSL::Cipher.new("des-ede3-cbc")
35
- cipher.encrypt
36
- cipher.pkcs5_keyivgen(password)
37
- p7 = OpenSSL::PKCS7.encrypt(certs, msg, cipher, OpenSSL::PKCS7::BINARY)
38
- assert_equal(msg, p7.data)
39
- end
40
-
41
- EMPTY_PEM = <<END
42
- -----BEGIN PKCS7-----
43
- MAMGAQA=
44
- -----END PKCS7-----
45
- END
46
-
47
- def test_empty_pkcs7
48
- p7 = OpenSSL::PKCS7.new
49
- assert_equal(EMPTY_PEM, p7.to_pem)
50
- end
51
-
52
- def test_load_empty_pkcs7
53
- p7 = OpenSSL::PKCS7.new(EMPTY_PEM)
54
- assert_equal(EMPTY_PEM, p7.to_pem)
55
- end
56
- end
@@ -1,180 +0,0 @@
1
- require "openssl"
2
- require "test/unit"
3
-
4
- class TestPKeyDSA < Test::Unit::TestCase
5
- def test_can_generate_dsa_key
6
- OpenSSL::PKey::DSA.generate(512)
7
- end
8
-
9
- # jruby-openssl/0.6 causes NPE
10
- def test_generate_pkey_dsa_empty
11
- assert_nothing_raised do
12
- OpenSSL::PKey::DSA.new.to_pem
13
- end
14
- end
15
-
16
- # jruby-openssl/0.6 ignores fixnum arg => to_pem returned 65 bytes with 'MAA='
17
- def test_generate_pkey_dsa_length
18
- assert(OpenSSL::PKey::DSA.new(512).to_pem.size > 100)
19
- end
20
-
21
- # jruby-openssl/0.6 returns nil for DSA#to_text
22
- def test_generate_pkey_dsa_to_text
23
- assert_match(
24
- /Private-Key: \(512 bit\)/,
25
- OpenSSL::PKey::DSA.new(512).to_text
26
- )
27
- end
28
-
29
- def test_load_pkey_dsa
30
- pkey = OpenSSL::PKey::DSA.new(512)
31
- assert_equal(pkey.to_pem, OpenSSL::PKey::DSA.new(pkey.to_pem).to_pem)
32
- end
33
-
34
- def test_load_pkey_dsa_public
35
- pkey = OpenSSL::PKey::DSA.new(512).public_key
36
- assert_equal(pkey.to_pem, OpenSSL::PKey::DSA.new(pkey.to_pem).to_pem)
37
- end
38
-
39
- def test_load_pkey_dsa_der
40
- pkey = OpenSSL::PKey::DSA.new(512)
41
- assert_equal(pkey.to_der, OpenSSL::PKey::DSA.new(pkey.to_der).to_der)
42
- end
43
-
44
- def test_load_pkey_dsa_public_der
45
- pkey = OpenSSL::PKey::DSA.new(512).public_key
46
- assert_equal(pkey.to_der, OpenSSL::PKey::DSA.new(pkey.to_der).to_der)
47
- end
48
-
49
- def test_load_pkey_dsa_net_ssh
50
- blob = "0\201\367\002\001\000\002A\000\203\316/\037u\272&J\265\003l3\315d\324h\372{\t8\252#\331_\026\006\035\270\266\255\343\353Z\302\276\335\336\306\220\375\202L\244\244J\206>\346\b\315\211\302L\246x\247u\a\376\366\345\302\016#\002\025\000\244\274\302\221Og\275/\302+\356\346\360\024\373wI\2573\361\002@\027\215\270r*\f\213\350C\245\021:\350 \006\\\376\345\022`\210b\262\3643\023XLKS\320\370\002\276\347A\nU\204\276\324\256`=\026\240\330\306J\316V\213\024\e\030\215\355\006\037q\337\356ln\002@\017\257\034\f\260\333'S\271#\237\230E\321\312\027\021\226\331\251Vj\220\305\316\036\v\266+\000\230\270\177B\003?t\a\305]e\344\261\334\023\253\323\251\223M\2175)a(\004\"lI8\312\303\307\a\002\024_\aznW\345\343\203V\326\246ua\203\376\201o\350\302\002"
51
- pkey = OpenSSL::PKey::DSA.new(blob)
52
- assert_equal(blob, pkey.to_der)
53
- end
54
-
55
- def test_load_dsa_des_encrypted
56
- password = 'pass'
57
- pkey = OpenSSL::PKey::DSA.generate(512)
58
- cipher = OpenSSL::Cipher::Cipher.new('des-cbc')
59
- pem = pkey.to_pem(cipher, password)
60
- assert_equal(pkey.g, OpenSSL::PKey::DSA.new(pem, password).g)
61
- end
62
-
63
- def test_load_dsa_3des_encrypted
64
- password = 'pass'
65
- pkey = OpenSSL::PKey::DSA.generate(512)
66
- cipher = OpenSSL::Cipher::Cipher.new('des-ede3-cbc')
67
- pem = pkey.to_pem(cipher, password)
68
- assert_equal(pkey.g, OpenSSL::PKey::DSA.new(pem, password).g)
69
- end
70
-
71
- def test_load_dsa_aes_encrypted
72
- password = 'pass'
73
- pkey = OpenSSL::PKey::DSA.generate(512)
74
- cipher = OpenSSL::Cipher::Cipher.new('aes-128-cbc')
75
- pem = pkey.to_pem(cipher, password)
76
- assert_equal(pkey.g, OpenSSL::PKey::DSA.new(pem, password).g)
77
- end
78
-
79
- CRUBY_DES_DSA_PEM = <<END
80
- -----BEGIN DSA PRIVATE KEY-----
81
- Proc-Type: 4,ENCRYPTED
82
- DEK-Info: DES-CBC,55669A6757B8752A
83
-
84
- 0DI84kfjNWOmckdBhvraem9LZqx++JRAD0fUB7J2ymLLMKS2wFq32AA3XD6K9kNP
85
- Ud1idm0UMtJjxFFtT02ue7USlaSHIb+INbf4m5N/I54cOoMXXdOEFeecWlmDhfMP
86
- zSA/6zM1L0iUKXaR30yRtslwZpGi3ZlriLkL6HbZFjBRUk93AL01oVHHIW3OPqLq
87
- Mql0jpr9VDLi1OjkIbrRilZKHTx/C7DCeBfwhPS3KUhkyGTqQzTwa6TpA5fiL0vy
88
- OXwDr9GqZCUq5sk3Psu+2yrI+dbzUFh+va+0p2EzVnOb7p6oyIhXTyyeqZVy+KRz
89
- qK2rRxrZmQv9hJ59G1kJ/A==
90
- -----END DSA PRIVATE KEY-----
91
- END
92
-
93
- JRUBY_DES_DSA_PEM = <<END
94
- -----BEGIN DSA PRIVATE KEY-----
95
- Proc-Type: 4,ENCRYPTED
96
- DEK-Info: DES-CBC,06b4e0b42bf90db9
97
-
98
- mroGVjL7pb1BSJDtaksk3If8XidwLgv0DJsQcmwG8gc55eBxF65TDmAFZlc1vAp8
99
- YlkQx84ZCWufiTlWzeZR/giEPeps0nbzkaNN4tWOEN3ILF7TKfaqFdtJgEwLXMJ8
100
- 3L5jLZDsESmXpGY51RGp7LXYENoS1WwnJ+ke9kBty/IpFVUYyRtRZ2wpoFqWKfjV
101
- rAlYqJLme+PQL1SXoPl3HOMr7NcjaEr9yYeq8mPCAg8YEW1ckyH0Z6j9ZK0spdtM
102
- Cam9mftFK1gC4wqZbCSM3bRCrqiVfMr8uWIIZVpBwm1skYh8+yLlG1m0xhTcmMEq
103
- Vo/ZKPN3/eLMl2nx5Td8ew==
104
- -----END DSA PRIVATE KEY-----
105
- END
106
-
107
- CRUBY_3DES_DSA_PEM = <<END
108
- -----BEGIN DSA PRIVATE KEY-----
109
- Proc-Type: 4,ENCRYPTED
110
- DEK-Info: DES-EDE3-CBC,75267DEE9DB19A15
111
-
112
- rWX5EyFJ4n64oHadHhSKmW/wJWTeoA5K/CxdlAzh9sGzNtbJB1qevd7iV3HouQiZ
113
- iGeA0b8tJWI8NJZFjYsQyNZgFemnpQ/Nz0kYXR/z0TpJzMHepyDn+3n7WBupRM+J
114
- aEmgwSJSiwEDYDInscdIdTNW/zfXt8+wKf72rttV8ocTAHkIbBew1YFQK+hM2OZ5
115
- MubNrFaiSwTJisGU0Vc5sAcaq60ZyfI730LN1QSA9FRWn/O8od3O+Ri7w8K2qRXV
116
- R/z33GsXqt1dkaQVwH4yFUaUect/fgXfuijZaJrBY7ZT9oBPxsBrAxVIATf2bfQY
117
- Vk30SWL9mazMmDcgjD32hg==
118
- -----END DSA PRIVATE KEY-----
119
- END
120
-
121
- JRUBY_3DES_DSA_PEM = <<END
122
- -----BEGIN DSA PRIVATE KEY-----
123
- Proc-Type: 4,ENCRYPTED
124
- DEK-Info: DES-EDE3-CBC,d795fb005ae84cd7
125
-
126
- iSSWTjX84CqfaBGlds7NNBDNaAIvnbv6WI8uh2Mv4KJ5PLvpAAb2bxQUNLCAHlvP
127
- gqWdUbNvC9IVGNfE9exYdW/1bevp9wjcjv6dK+1dH9H+WxFqZtnsuH0fOw5EWrXY
128
- +yB0SQQo44UVqy/w+2SbYrYEQ/MAA4ebYqd8ubdi3qFoSjfuUnh/vdAakePqM82a
129
- Vb4w35j7ihXr/RrtbP+bCW5rVHPUCKOvBy9XD0UG8wtEQH0wUmJnELWoWM6/xLS8
130
- rFBX3EOYR2nItP5XQyHO49RRT3vzLY04cCYIa5/LhBBRbCSWi6oQaydxq6/buGff
131
- z//DKy1e6FpeUIFgyjkldQ==
132
- -----END DSA PRIVATE KEY-----
133
- END
134
-
135
- CRUBY_AES_DSA_PEM = <<END
136
- -----BEGIN DSA PRIVATE KEY-----
137
- Proc-Type: 4,ENCRYPTED
138
- DEK-Info: AES-128-CBC,5F8642885141BB27B7D10E089006BF22
139
-
140
- aBYZIZw67pJFf8voJK2PH6dT2npXL2sGgG4NStgrClAowFF3o0v+p7eAzKwIsfex
141
- LSE60JAPtD/ooqGDoGkJqT3VXncpNw0B9dR3l2Z2j79ZCNuH64z8PnQKDCLjIVKj
142
- yhqUsifokc/s7Vd96uaIfR8z3S3go+/96gbIr6p34FLD6N2Pi06t0XrN70msURaX
143
- Q84edbPto/5Zl8zjVFuV+nvGidozytJ1b6txzyatKeCBQO8doZHihXpW32iyUkJ8
144
- 1H0047SzKhswP7Xxwob7ukcrPcn2ehPG3+bXC1w7J47jsIi6ihvHKMl6KfgPwVgu
145
- a8/ecsqcdOGUXmtRJ2l3dw==
146
- -----END DSA PRIVATE KEY-----
147
- END
148
-
149
- JRUBY_AES_DSA_PEM = <<END
150
- -----BEGIN DSA PRIVATE KEY-----
151
- Proc-Type: 4,ENCRYPTED
152
- DEK-Info: AES-128-CBC,2327f11cbbaaf0a5f9ec992ae04677b1
153
-
154
- YSG7L3SO9/Z+IgDSGf30oXaqUlwc+/AzKeMfqBCxs0qGP2lMELfHnwz/mwxlbepP
155
- W4zDqgTV88Fvg8PpQVsFamrEWjIy2Bldztc+8Aj8ndBON3vqDkSDk9/FIVFnKCsQ
156
- xXR/6ixhFVwBsWGJeGSM1PRPcX74JLBbUlY0vzZPk/uUcg7dQO/oGskOlBo/oLnS
157
- xVXLvRo2CR+3ydHE9iF+y4Y/66f7uccbIAyUDgaurZLf/3MRihAydlkEUQriK88Q
158
- z1fEb60qcDl8N4bQD2HOILUyPcwvT7OZsn01HmfwxtxMvMsfeIO2NnUUqmpCXawW
159
- Cj7lDxD1ioXbyqmJyucyVg==
160
- -----END DSA PRIVATE KEY-----
161
- END
162
-
163
- def test_load_dsa_des_encrypted_compat
164
- password = 'pass'
165
- assert_equal(2601835381435922300807529879321911722473209798319079426284347845245761126085714618755566626587428986614532580618831696049079493874672683842235950274336046, OpenSSL::PKey::DSA.new(CRUBY_DES_DSA_PEM, password).g)
166
- assert_equal(5421644057436475141609648488325705128047428394380474376834667300766108262613900542681289080713724597310673074119355136085795982097390670890367185141189796, OpenSSL::PKey::DSA.new(JRUBY_DES_DSA_PEM, password).g)
167
- end
168
-
169
- def test_load_dsa_3des_encrypted_compat
170
- password = 'pass'
171
- assert_equal(9936878837924433385259546254653845785685748445545516924244160189763997725813126701147586419234217178553350132394993861862023343427937351327849016782576411, OpenSSL::PKey::DSA.new(CRUBY_3DES_DSA_PEM, password).g)
172
- assert_equal(5421644057436475141609648488325705128047428394380474376834667300766108262613900542681289080713724597310673074119355136085795982097390670890367185141189796, OpenSSL::PKey::DSA.new(JRUBY_3DES_DSA_PEM, password).g)
173
- end
174
-
175
- def test_load_dsa_aes_encrypted_compat
176
- password = 'pass'
177
- assert_equal(4237872605088828155551665609293446566126489611054397621156235339811966387210852049465706387691172976146024902239923506580469901654107741400464080284215372, OpenSSL::PKey::DSA.new(CRUBY_AES_DSA_PEM, password).g)
178
- assert_equal(5421644057436475141609648488325705128047428394380474376834667300766108262613900542681289080713724597310673074119355136085795982097390670890367185141189796, OpenSSL::PKey::DSA.new(JRUBY_AES_DSA_PEM, password).g)
179
- end
180
- end
@@ -1,329 +0,0 @@
1
- require "openssl"
2
- require "test/unit"
3
-
4
- class TestPKeyRSA < Test::Unit::TestCase
5
- def test_has_correct_methods
6
- pkey_methods = OpenSSL::PKey::PKey.instance_methods(false).sort.map(&:intern) - [:initialize]
7
- assert_equal [:sign, :verify], pkey_methods
8
-
9
- rsa_methods = OpenSSL::PKey::RSA.instance_methods(false).sort.map(&:intern) - [:initialize]
10
- assert_equal [:d, :d=, :dmp1, :dmp1=, :dmq1, :dmq1=, :e, :e=, :export, :iqmp, :iqmp=, :n, :n=, :p, :p=, :params, :private?, :private_decrypt, :private_encrypt, :public?, :public_decrypt, :public_encrypt, :public_key, :q, :q=, :to_der, :to_pem, :to_s, :to_text], rsa_methods
11
-
12
- assert_equal [:generate], OpenSSL::PKey::RSA.methods(false).map(&:intern)
13
- end
14
-
15
- #iqmp == coefficient
16
- #e == public exponent
17
- #n == modulus
18
- #d == private exponent
19
- #p == prime1
20
- #q == prime2
21
- #dmq1 == exponent2
22
- #dmp1 == exponent1
23
-
24
- def test_can_generate_rsa_key
25
- OpenSSL::PKey::RSA.generate(512)
26
- end
27
-
28
- def test_malformed_rsa_handling
29
- pem = <<__EOP__
30
- -----BEGIN PUBLIC KEY-----
31
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtiU1/UMzIQ1On9OlZGoV
32
- S0yySFYWoXLH12nmP69fg9jwdRbQlb0rxLn7zATbwfqcvGpCcW+8SmdwW74elNrc
33
- wRtbKjJKfbJCsVfDssbbj6BF+Bcq3ihi8+CGNXFdJOYhZZ+5Adg2Qc9Qp3Ubw9wu
34
- /3Ai87+1aQxoZPMFwdX2BRiZvxch9dwHVyL8EuFGUOYId/8JQepHyZMbTqp/8wlA
35
- UAbMcPW+IKp3N0WMgred3CjXKHAqqM0Ira9RLSXdlO2uFV4OrM0ak8rnTN5w1DsI
36
- McjvVvOck0aIxfHEEmeadt3YMn4PCW33/j8geulZLvt0ci60/OWMSCcIqByITlvY
37
- DwIDAQAB
38
- -----END PUBLIC KEY-----
39
- __EOP__
40
- pkey = OpenSSL::PKey::RSA.new(pem)
41
- # jruby-openssl/0.6 raises NativeException
42
- assert_raise(OpenSSL::PKey::RSAError, 'JRUBY-4492') do
43
- pkey.public_decrypt("rah")
44
- end
45
- end
46
-
47
- # http://github.com/jruby/jruby-openssl/issues#issue/1
48
- def test_load_pkey_rsa
49
- pem = <<__EOP__
50
- -----BEGIN PRIVATE KEY-----
51
- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALRiMLAh9iimur8V
52
- A7qVvdqxevEuUkW4K+2KdMXmnQbG9Aa7k7eBjK1S+0LYmVjPKlJGNXHDGuy5Fw/d
53
- 7rjVJ0BLB+ubPK8iA/Tw3hLQgXMRRGRXXCn8ikfuQfjUS1uZSatdLB81mydBETlJ
54
- hI6GH4twrbDJCR2Bwy/XWXgqgGRzAgMBAAECgYBYWVtleUzavkbrPjy0T5FMou8H
55
- X9u2AC2ry8vD/l7cqedtwMPp9k7TubgNFo+NGvKsl2ynyprOZR1xjQ7WgrgVB+mm
56
- uScOM/5HVceFuGRDhYTCObE+y1kxRloNYXnx3ei1zbeYLPCHdhxRYW7T0qcynNmw
57
- rn05/KO2RLjgQNalsQJBANeA3Q4Nugqy4QBUCEC09SqylT2K9FrrItqL2QKc9v0Z
58
- zO2uwllCbg0dwpVuYPYXYvikNHHg+aCWF+VXsb9rpPsCQQDWR9TT4ORdzoj+Nccn
59
- qkMsDmzt0EfNaAOwHOmVJ2RVBspPcxt5iN4HI7HNeG6U5YsFBb+/GZbgfBT3kpNG
60
- WPTpAkBI+gFhjfJvRw38n3g/+UeAkwMI2TJQS4n8+hid0uus3/zOjDySH3XHCUno
61
- cn1xOJAyZODBo47E+67R4jV1/gzbAkEAklJaspRPXP877NssM5nAZMU0/O/NGCZ+
62
- 3jPgDUno6WbJn5cqm8MqWhW1xGkImgRk+fkDBquiq4gPiT898jusgQJAd5Zrr6Q8
63
- AO/0isr/3aa6O6NLQxISLKcPDk2NOccAfS/xOtfOz4sJYM3+Bs4Io9+dZGSDCA54
64
- Lw03eHTNQghS0A==
65
- -----END PRIVATE KEY-----
66
- __EOP__
67
- assert_nothing_raised do
68
- pkey = OpenSSL::PKey::RSA.new(pem)
69
- pkey2 = OpenSSL::PKey::RSA.new(pkey.to_pem)
70
- assert_equal(pkey.n, pkey2.n)
71
- assert_equal(pkey.e, pkey2.e)
72
- assert_equal(pkey.d, pkey2.d)
73
- end
74
- end
75
-
76
- def test_load_pkey_rsa_enc
77
- # password is '1234'
78
- pem = <<__EOP__
79
- -----BEGIN ENCRYPTED PRIVATE KEY-----
80
- MIICoTAbBgkqhkiG9w0BBQMwDgQIfvehP6JEg2wCAggABIICgD7kzSr+xWgdAuzG
81
- cYNkCEWyKF6V0cJ58AKSoL4FQ59OQvQP/hMnSZEMiUpeGNRE6efC7O02RUjNarIk
82
- ciCYIBqd5EFG3OSypK5l777AbCChIkzZHbyE/pIbadr8ZX9C4pkwzPqS0Avzavxi
83
- 5s1WDX2GggJkBcQUijqG9QuOZcOvoYbojHPT4tdJq+J6s+0LFas9Jp3a6dYkxtgv
84
- u8Z6EFDZoLGOSVy/jCSMuZAnhoOxUCYqd9FFo2jryV7tQ/CaYAUApAQFTLgBA9qk
85
- 4WmyKRpwzIx6EG1pkqulvPXJCcTat9YwllEDVuQ2rKVwDepSl9O7X170Kx1sBecz
86
- mGcfqviU9xwP5mkXO/TLoTZExkHF08Y3d/PTMdxGEDZH37/yRqCIb3Uyqv/jLibM
87
- /s9fm52aWsfO1ndHEhciovlMJvGXq3+e+9gmq1w2TyNQahRc5fwfhwWKhPKfYDBk
88
- 7AtjPGfELDX61WZ5m+4Kb70BcGSAEgXCaBydVsMROy0B8jkYgtAnVBb4EMrGOsCG
89
- jmNeW9MRIhrhDcifdyq1DMNg7IONMF+5mDdQ3FhK6WzlFU+8cTN517qA8L3A3+ZX
90
- asiS+rx5/50InINknjuvVkmTGMzjl89nMNrZCjhx9sIDfXQ3ZKFmh1mvnXq/fLan
91
- CgXn/UtLoykrSlobgqIxZslhj3p01kMCgGe62S3kokYrDTQEc57rlKWWR3Xyjy/T
92
- LsecXAKEROj95IHSMMnT4jl+TJnbvGKQ2U9tOOB3W+OOOlDEFE59pQlcmQPAwdzr
93
- mzI4kupi3QRTFjOgvX29leII9sPtpr4dKMKVIRxKnvMZhUAkS/n3+Szfa6zKexLa
94
- 4CHVgDo=
95
- -----END ENCRYPTED PRIVATE KEY-----
96
- __EOP__
97
- assert_nothing_raised do
98
- pkey = OpenSSL::PKey::RSA.new(pem, '1234')
99
- pkey2 = OpenSSL::PKey::RSA.new(pkey.to_pem)
100
- assert_equal(pkey.n, pkey2.n)
101
- assert_equal(pkey.e, pkey2.e)
102
- assert_equal(pkey.d, pkey2.d)
103
- end
104
- end
105
-
106
- # JRUBY-6622
107
- def test_load_pkey_rsa_enc_pbes2
108
- # password is 'password'
109
- pem = <<__EOP__
110
- -----BEGIN ENCRYPTED PRIVATE KEY-----
111
- MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIaYgszaX31yECAggA
112
- MBQGCCqGSIb3DQMHBAij3LmXGCmB8wSCAoDcLnAeXiBugFmwXd3wrvznlKvwHkP2
113
- 76lIrTiwDRZOLuaKHdBgNQDJ3NP+UPGdM7YEyNqdfdbN/3cLd0qfzeobuU+c/lGI
114
- aE5pAwlWm5lK9boTsJnCqaDFEgJz2khZF+7RqYQVSG7MTM9SnIRNScLKjhTk7AaF
115
- PD2qSnMVtixw/VfwdzhUknuwP2monLY8Ip/l9abicmBp9HGQ+0WA/nKQLQ/egWG0
116
- S6rrXsH91exaxL7gcZL8jF+Ub7VDt4Hvx1RB/3r12k7AQGsK+TyIrKQFUllSnSq/
117
- eFwBqpLSKWYyGJZlkJzW5MTHyeXqpTvav6T7e2mKZ4GG/a8THoWxLLrKeODFFoWn
118
- LQNOQZ2Axa15E0TdeSkaumsOWPJm5DgFxf/1cRNxhJqYdX68QjWXeNS2SXPZBwlx
119
- HCaAYo6OoCHZQ7O/3MpiT3rUAk30fbSa09VSvrenYi5s5lPieKFt3QZI44uGvi9j
120
- MXyN4fkjzzXasE0xZzf6bQLS6aM+ucyQ8CMv0oAgAndoeKu10Ha4KmdT5dZf3LHj
121
- BUXZDYp3Q5UF6ePyxKBdAqJf4PNKl4+VehYJ4eQ6CIQiSxSuWv9T+2b90PyDuRkz
122
- sB1XZpeDD6dhQuU9GjdwCTyatITcm97ZkbdZEoQiDpiWQB4parTvKLKbD4AbP/+E
123
- 08btPFgXNocFUjLb5lB4Y/6RqaQxY7VoaFOPOfPpWPXF26X9Y5y3y+ymXdYFpkhp
124
- wGBGScH+dutQWHoRV1TWUjv9a7CuzUxCX2Hrjooz1BtOnG8CoPA7K43+kvire5jN
125
- 529p6u+FtUZPUWLm5L5WHBUECEtJGw3ImjosX1HtoM/rW34XDmMHuN0u
126
- -----END ENCRYPTED PRIVATE KEY-----
127
- __EOP__
128
- assert_nothing_raised do
129
- pkey = OpenSSL::PKey::RSA.new(pem, 'password')
130
- pkey2 = OpenSSL::PKey::RSA.new(pkey.to_pem)
131
- assert_equal(pkey.n, pkey2.n)
132
- assert_equal(pkey.e, pkey2.e)
133
- assert_equal(pkey.d, pkey2.d)
134
- end
135
- end
136
-
137
- # jruby-openssl/0.6 causes NPE
138
- def test_generate_pkey_rsa_empty
139
- assert_nothing_raised do
140
- OpenSSL::PKey::RSA.new.to_pem
141
- end
142
- end
143
-
144
- def test_generate_pkey_rsa_length
145
- assert_nothing_raised do
146
- OpenSSL::PKey::RSA.new(512).to_pem
147
- end
148
- end
149
-
150
- def test_generate_pkey_rsa_to_text
151
- assert_match(
152
- /Private-Key: \(512 bit\)/,
153
- OpenSSL::PKey::RSA.new(512).to_text
154
- )
155
- end
156
-
157
- def test_load_pkey_rsa
158
- pkey = OpenSSL::PKey::RSA.new(512)
159
- assert_equal(pkey.to_pem, OpenSSL::PKey::RSA.new(pkey.to_pem).to_pem)
160
- end
161
-
162
- def test_load_pkey_rsa_public
163
- pkey = OpenSSL::PKey::RSA.new(512).public_key
164
- assert_equal(pkey.to_pem, OpenSSL::PKey::RSA.new(pkey.to_pem).to_pem)
165
- end
166
-
167
- def test_load_pkey_rsa_der
168
- pkey = OpenSSL::PKey::RSA.new(512)
169
- assert_equal(pkey.to_der, OpenSSL::PKey::RSA.new(pkey.to_der).to_der)
170
- end
171
-
172
- def test_load_pkey_rsa_public_der
173
- pkey = OpenSSL::PKey::RSA.new(512).public_key
174
- assert_equal(pkey.to_der, OpenSSL::PKey::RSA.new(pkey.to_der).to_der)
175
- end
176
-
177
- def test_load_rsa_des_encrypted
178
- password = 'pass'
179
- pkey = OpenSSL::PKey::RSA.generate(1024)
180
- cipher = OpenSSL::Cipher::Cipher.new('des-cbc')
181
- pem = pkey.to_pem(cipher, password)
182
- assert_equal(pkey.n, OpenSSL::PKey::RSA.new(pem, password).n)
183
- end
184
-
185
- def test_load_rsa_3des_encrypted
186
- password = 'pass'
187
- pkey = OpenSSL::PKey::RSA.generate(1024)
188
- cipher = OpenSSL::Cipher::Cipher.new('des-ede3-cbc')
189
- pem = pkey.to_pem(cipher, password)
190
- assert_equal(pkey.n, OpenSSL::PKey::RSA.new(pem, password).n)
191
- end
192
-
193
- def test_load_rsa_aes_encrypted
194
- password = 'pass'
195
- pkey = OpenSSL::PKey::RSA.generate(1024)
196
- cipher = OpenSSL::Cipher::Cipher.new('aes-128-cbc')
197
- pem = pkey.to_pem(cipher, password)
198
- assert_equal(pkey.n, OpenSSL::PKey::RSA.new(pem, password).n)
199
- end
200
-
201
- CRUBY_DES_RSA_PEM = <<END
202
- -----BEGIN RSA PRIVATE KEY-----
203
- Proc-Type: 4,ENCRYPTED
204
- DEK-Info: DES-CBC,D22ABA5D7A345AAF
205
-
206
- uSRJRBARry1L2DUZwdLkQ0JA4riJ9CWnsA+Y6M76dznyzJCLK/rLyQSLxZefVWVk
207
- CzkRMhi4n4NrSS1hB7qUlphX6y67O5Rv/O0S4SYa3d87hDJKqNpR47gfj35efNUk
208
- izIb4rHoVgolRNm/L4joChuIrKqHkQnkusNxp9wReuNT/B2qPbqqEGxiDCcv8jni
209
- fq1ifvkJyTlEKnmrdml65fhjHHDuNENVAXVrsPsVJXI6kk7PahJk24rn29qPOAlJ
210
- d+E6Q6YDgRM1MDrEQmaXFzNJi8Mco1712LjXIYH9+vkJ5GnXrIk8XrAmY2E4ERgQ
211
- XdFx9J6Qncnjj/y18H9WilvoaN4hJiE22OqNI/PeK+nYeeYnxzu2qc2E5QVyjCqA
212
- N2nTwx0ZtZRxFakP8CMyrVCn7BVYdIF3ISgX7RT+GwkujKwWAO0xrjkMc3y3Pv2R
213
- 9MG5PzeFe4EuuwkjN0rWB8ra4HCkaPxk
214
- -----END RSA PRIVATE KEY-----
215
- END
216
-
217
- JRUBY_DES_RSA_PEM = <<END
218
- -----BEGIN RSA PRIVATE KEY-----
219
- Proc-Type: 4,ENCRYPTED
220
- DEK-Info: DES-CBC,14f319c66f99b413
221
-
222
- JTTxyeEPF9HcOyyLQ0Y+oO91RaVYIoqppxpfKaULXBZwHN8pGSrHFPliCgahgEEC
223
- aF39H6/69KrEKw7h8XYKrFK+sinBYd975qWfspexmDHTyMcN7MPBPpbnV5Ha2z+m
224
- weenO/2rAzsOxNa6dRBmdCyHYODJrSDq71h6W7255t79E4Tjr1u72/lHPVTO2r9a
225
- sv0AhkfM5G95n+qamgNYOYjWODKFaSA6vN4sB08UQZBN7EJeE6Ouv5hw8E0uooLu
226
- 10iaBJUWkYF9v50+Z+cVd890VlUiQZihybQ8dETHtBtJ6moaMxBzQjkXjGJf6vd+
227
- h0YPQOIg0YLwxg+aIC4L+Sh/11DrXSeb6j/7d0HfqGW060AC1b7crits71v2vEGe
228
- +9kGgboShossQLoOuFicETEo5UgyhWfJ+ftvKM5DgYfsKJNsegSH9WwISFNWGSsY
229
- njt38WTtkSxDQmm1G+VGfdfOIUQWohI9Prol2qodhsN6SvJgd0n9nVYi388bh1IR
230
- 23jnX9eayTrCm6Ff9EBVIroG8wVr0Qqme36o0GDtmCXtuBY9F3utr/8n03lTBuW7
231
- E/Cx4XKlTtA7oBQjDz/ecbSGZXIROQmZh2f4wX6JeDhQH93InvM5DP7nN7qq+bxp
232
- aZPRS3QFj0XlcF/QTI5r/GqT+DAWZ4ZXGtuKUg2yEjCNz6+r8xW9zOFSFos+773U
233
- MVitdHtRLjfRVV6PT6VyThaHI56f6T9PC7KHgX8e/YcA8cAR0IoOjVsy1Xy0KWn7
234
- CLxLcO6qbYRDyoFEpMrYq/O2beA1BH28BXnDkODbOje/lbvL9sSaHg==
235
- -----END RSA PRIVATE KEY-----
236
- END
237
-
238
- CRUBY_3DES_RSA_PEM = <<END
239
- -----BEGIN RSA PRIVATE KEY-----
240
- Proc-Type: 4,ENCRYPTED
241
- DEK-Info: DES-EDE3-CBC,F4E217EFFC0C21F0
242
-
243
- KblUxUrSn2mJlzZUyZ/QBBWdhDkPwO4bzH6y6XxUmVEhv3DgiiWiOccQoE9s06Gt
244
- LguPArk2W61DfksDH7ESeVd5syS+6LVmuVXePrXlef45flNwmdFHXgy+OVM9uLHT
245
- y1AvHs6f3NLsDlf+ho8yoKgCTTBWf9lwAxw6EO9iKqUWY4ofRjSefiGxwhIW77Vc
246
- MIktK9wMcZL9d8mINqQEY/Pz7pg70bLp3uZlljNFo6i8OA2SnitTOmU97dyknbee
247
- +HDzrFFGdwsCg6nJdnjDsOXYeXDW2sul8g258ipUEVpkByWZ7Vy3vpAZKwO2dIrj
248
- oEr/6glDvOKd7w2U5DIqmuWo5zvtCBu1taonyyaJKRoxsmJO9PTbDhz38WU3wcbf
249
- 9AQxDlMY//N5hSICrcnIaXsjMTxiJrERHLPjW+auYSRl7E9qKh4KqjDHsJ2/LyTE
250
- dQ7IaJwE9xygO1hVHLJze1pZs+xHsxdR
251
- -----END RSA PRIVATE KEY-----
252
- END
253
-
254
- JRUBY_3DES_RSA_PEM = <<END
255
- -----BEGIN RSA PRIVATE KEY-----
256
- Proc-Type: 4,ENCRYPTED
257
- DEK-Info: DES-EDE3-CBC,102c5e7fdd051c1a
258
-
259
- u19K4AySBL8KAM9DSLsSJSuxtKLQgmPiawpPRBpYjMITxw2NQtpZMYJKLZOtx/uU
260
- kVjbwzJhhr51ciBF2HztLLvrpmh9xPybLZFh4Ew7/yMMOir+GyO3G8pf3sL5roAA
261
- +sR4VERTiK6KWdblZQCYOmyJDiffjWBfzSz6MlLdjjTZr+NBQ6d0vGFGdLE1662Y
262
- XpjcG6nw3fpUhdTXhXJDYneSBD30P6sfSxzPY0G7TLNU6vv9qlaeZ3nksfY/2Li1
263
- aOSzrYtZe9+uzqAd9KxNNO7Eya3GAgdhErwVQGIU/cmtNybYdeaEhOtd80Vx8qY0
264
- l9Lz/FtKdbxxoSAFhpRupRY2cFC80LJ2e9hp+TRkYp2k9a9UuPMrTYmK6GoYsPRC
265
- SqnL9xIlCrByxhQ3vJaogSseAFlFmLxb+E61cQxCHfc5oBM9XY3e60Cirfsx/POG
266
- xvTPXBLS1SuLybLh68wZDpLcqTFk0zG0oSchUt6x5JqK4OImKnI2VpXZ1H7j/rSU
267
- ghUJvDcvAiMwiqep/81Ue9KIrP+ouluk81njjFTA636Dx23PdPq0dyBwi4iF+WOf
268
- A4EhhISttdb+ZSmS9kPDYn2a79Qvds29yOgEB2OwKIstDzlBNO85CA+E3JbOndBq
269
- +zpQklVLA+dWw0dTIbwI5xYKGb7HJJPOpBC0aWcnudr4rda2b2WIFPzH/PTAoIhJ
270
- kBuwNoLBA38qh+T6Se66hLWzWyt3yPWaH81KW0WOaHW68LC572+qq7hrsOHp7ya6
271
- C4/lMsQ5zUyRI0fwpnSJv1RjYemNJMV+oUiHFDKN5jQ=
272
- -----END RSA PRIVATE KEY-----
273
- END
274
-
275
- CRUBY_AES_RSA_PEM = <<END
276
- -----BEGIN RSA PRIVATE KEY-----
277
- Proc-Type: 4,ENCRYPTED
278
- DEK-Info: AES-128-CBC,E6FB0DECDE6009CF6EEE61885679905E
279
-
280
- 254YnHYZVo139fw1jbztY/v7BbaaCoYAMC27q6NF4k5Qocfe12HYWD/pgpe1YKbX
281
- 8fmfBhKFpjqTAr8emp0HOOw8VjfcaITiN4MvrnyhT7Ir4yjJjO5mUQVBZQha+i7P
282
- CFTsuZhDF1iEkxkyVsHQ56iWT+SL7d0uvWW2eVNZ0L/vRVrdffNG1m+92xIm66Fj
283
- 0/fMudTSUYJvad2Isj64i1DWKxo6gfxgmukLCwj4DnmjVQvOH/VQT7nUe9oqxCuy
284
- VUC+c2FAZgTr+2vSYdpPnU/u//DKjqvDgZHDkRIKDNNDv1yyVRY7giuOfFE9GqbE
285
- wQTwaLdJYnu9I4HaS8tWCLHgNYRKbvNcTRX7CMxlV82ndn7aKoIDb/x8O5frObEF
286
- 2gMnv4H5mxrtHCJVk0ivQf3BgZWTdom/YEBr56RC8R/8y5dWsaGhIbXr9kNW0Lom
287
- 50oQToYBbM5ulLJxYXV3tA==
288
- -----END RSA PRIVATE KEY-----
289
- END
290
-
291
- JRUBY_AES_RSA_PEM = <<END
292
- -----BEGIN RSA PRIVATE KEY-----
293
- Proc-Type: 4,ENCRYPTED
294
- DEK-Info: AES-128-CBC,5c6a1d2d24302e15a23bb77483db3966
295
-
296
- 2IBvwJDEw3CkZVMp7/ML0qiozHqmkmkZ+XEe3YD8EV8te7rO7zRVNCW+NOxfqUhu
297
- TrP5gXNLK2rUrhBairruFz6iXWndtkGs1o8LL2X+dCSRbFpkVOo6d7IEpRi5xJDJ
298
- MK1LzWLb1I3EUxlEY/NkpfIaULxldix9QCXejqdlHyuRvDEO11HwT2AO1ND/Pir9
299
- 510nnDrBF0oGy/y9n5Quw/3F30CLyNUoQ+yb05unRt3MXQ40Qh4qIxE2bEsT5bPV
300
- YHQ7Ls4ETxSyqVETpWfghAl2pipU2S6ZhCcPETnv6nfjC72uk/dFRuaMsve4IUTu
301
- AnxZCKQ6ICaExlgUzY97lEIj3nJDY5PbDARqE1EQt24nS4wHq+5hrMumDLaiYcFu
302
- QqfDYDXJiZt0gUYXlHwezNyv+iH4Y5xhko7fQn0yFhp4ud748zZJVYzULJCMGVWT
303
- ObQ6I5JE2UoTeTHl/UfE3UYqKoBPnnElsJkTFzdql8zBS5PGAHgrF06Wg/jp9iCG
304
- h0BXTnPw5jBVF8YF15F9oWt6hzLVrBfihTCi1+KxKPYDCoKUVGyeaSmCRTwu/Shp
305
- WJpKokBtazrML5gXE2rTho3yHOpiwv/3HLLGKpVxBZk/w+quo5o1dQbuNcdVkXUy
306
- uvMFYJGBMXhpFHxWOnrHe5EWmlergjbH6FtDnZ6q9mGKX3Zv0mj16rGTwaC8ojFJ
307
- klvWNuzEyQRT2OJNbiJ+w8v4yF9nKcoNnWaLwsTXkdfrPkrUEyG03aNj5UVkJ8cq
308
- jfdOf8b35frgdBJrFb1fNxXUDiOmHxBeffidJ7LEHD0zvh8yke9iqCRquRbQw4ua
309
- -----END RSA PRIVATE KEY-----
310
- END
311
-
312
- def test_load_rsa_des_encrypted_compat
313
- password = 'pass'
314
- assert_equal(171121679472900958735046240032013822902814135418044632926746858725279957006460484359346082493980272450155346042705805047522822137075000873718614673206839485927470809962483274240113443184049955325778842883884472730809338103721103527723371013427831682847229398280665281140996554391864952366240593334371598093357, OpenSSL::PKey::RSA.new(CRUBY_DES_RSA_PEM, password).n)
315
- assert_equal(95186390926176289293448721787465460008681849005943627766414746880750829275325362105354699806095724614833850511391997530422798534550053092884697848715098905298125981139872096315909555296044739053126836027629923201408465604387441696201951345435727705264545384652266958892017406564235498456780610723946372077161, OpenSSL::PKey::RSA.new(JRUBY_DES_RSA_PEM, password).n)
316
- end
317
-
318
- def test_load_rsa_3des_encrypted_compat
319
- password = 'pass'
320
- assert_equal(159891081887610779337613110093558981667630640397086024796277575756132362092191306947719745882625669532365621381440788450544049011459945371880102089907577418294502920328095107337128188112059054500699255092076505828498357575128536918367005034864200777995404401769611478230798677758186716282278489076140546075717, OpenSSL::PKey::RSA.new(CRUBY_3DES_RSA_PEM, password).n)
321
- assert_equal(132634270546428248975101416587398035596645524786882670408365466475894396526829329830349264854502825314377251520406282650983030314030180184335663605776194424399755874220996106852804569548140575796496611429489809370931661876941690628312711482612941088835232077828296662784479160183720585553373956579796213039707, OpenSSL::PKey::RSA.new(JRUBY_3DES_RSA_PEM, password).n)
322
- end
323
-
324
- def test_load_rsa_aes_encrypted_compat
325
- password = 'pass'
326
- assert_equal(152164605304862839347386799863418642272176047421496804966498177563653853015174053675480323318393334405555865282832768092329962715390636176200784476670180320842603832200246642618431746763085706624847469867394029459008113763032679106133646348160741974785288005086128311619599829066360227829804048705177001887963, OpenSSL::PKey::RSA.new(CRUBY_AES_RSA_PEM, password).n)
327
- assert_equal(120124464337037052596736192517844019014106857114253451267066925743499301063116479220243836708739023567649536721432121286547319736881999977669587689339777273865695637895993003754843628769179367393259439036333237000420047538052601743699164582419555307462460610926941760286052729693393703143580060262101504625743, OpenSSL::PKey::RSA.new(JRUBY_AES_RSA_PEM, password).n)
328
- end
329
- end