jruby-openssl 0.7.4 → 0.7.6.1

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 (99) hide show
  1. data/.gemtest +0 -0
  2. data/History.txt +51 -14
  3. data/Manifest.txt +136 -79
  4. data/README.txt +1 -1
  5. data/Rakefile +17 -8
  6. data/lib/{openssl → 1.8/openssl}/bn.rb +2 -2
  7. data/lib/{openssl → 1.8/openssl}/buffering.rb +3 -1
  8. data/lib/{openssl → 1.8/openssl}/cipher.rb +0 -0
  9. data/lib/{openssl → 1.8/openssl}/config.rb +1 -1
  10. data/lib/{openssl → 1.8/openssl}/digest.rb +2 -2
  11. data/lib/{openssl → 1.8/openssl}/pkcs7.rb +0 -0
  12. data/lib/{openssl/ssl.rb → 1.8/openssl/ssl-internal.rb} +2 -2
  13. data/lib/1.8/openssl/ssl.rb +1 -0
  14. data/lib/{openssl/x509.rb → 1.8/openssl/x509-internal.rb} +8 -9
  15. data/lib/1.8/openssl/x509.rb +1 -0
  16. data/lib/{openssl.rb → 1.8/openssl.rb} +2 -11
  17. data/lib/1.9/openssl/bn.rb +35 -0
  18. data/lib/1.9/openssl/buffering.rb +448 -0
  19. data/lib/1.9/openssl/cipher.rb +65 -0
  20. data/lib/1.9/openssl/config.rb +313 -0
  21. data/lib/1.9/openssl/digest.rb +72 -0
  22. data/lib/1.9/openssl/ssl-internal.rb +177 -0
  23. data/lib/1.9/openssl/ssl.rb +2 -0
  24. data/lib/1.9/openssl/x509-internal.rb +158 -0
  25. data/lib/1.9/openssl/x509.rb +2 -0
  26. data/lib/1.9/openssl.rb +22 -0
  27. data/lib/{jopenssl → shared/jopenssl}/version.rb +1 -1
  28. data/lib/shared/jopenssl.jar +0 -0
  29. data/lib/{openssl → shared/openssl}/dummy.rb +0 -0
  30. data/lib/{openssl → shared/openssl}/dummyssl.rb +0 -0
  31. data/lib/shared/openssl/pkcs12.rb +50 -0
  32. data/lib/shared/openssl/ssl.rb +1 -0
  33. data/lib/shared/openssl/x509.rb +1 -0
  34. data/lib/shared/openssl.rb +20 -0
  35. data/test/{openssl → 1.8}/ssl_server.rb +0 -0
  36. data/test/{openssl → 1.8}/test_asn1.rb +15 -0
  37. data/test/{openssl → 1.8}/test_cipher.rb +0 -0
  38. data/test/{openssl → 1.8}/test_config.rb +0 -0
  39. data/test/{openssl → 1.8}/test_digest.rb +0 -0
  40. data/test/{openssl → 1.8}/test_ec.rb +0 -0
  41. data/test/{openssl → 1.8}/test_hmac.rb +0 -0
  42. data/test/{openssl → 1.8}/test_ns_spki.rb +0 -0
  43. data/test/{openssl → 1.8}/test_pair.rb +10 -2
  44. data/test/{openssl → 1.8}/test_pkcs7.rb +0 -0
  45. data/test/{openssl → 1.8}/test_pkey_rsa.rb +0 -0
  46. data/test/{openssl → 1.8}/test_ssl.rb +17 -20
  47. data/test/{openssl → 1.8}/test_x509cert.rb +0 -0
  48. data/test/{openssl → 1.8}/test_x509crl.rb +0 -0
  49. data/test/{openssl → 1.8}/test_x509ext.rb +0 -0
  50. data/test/{openssl → 1.8}/test_x509name.rb +0 -0
  51. data/test/{openssl → 1.8}/test_x509req.rb +0 -0
  52. data/test/{openssl → 1.8}/test_x509store.rb +0 -0
  53. data/test/{openssl → 1.8}/utils.rb +0 -0
  54. data/test/1.9/ssl_server.rb +81 -0
  55. data/test/1.9/test_asn1.rb +589 -0
  56. data/test/1.9/test_bn.rb +23 -0
  57. data/test/1.9/test_buffering.rb +88 -0
  58. data/test/1.9/test_cipher.rb +107 -0
  59. data/test/1.9/test_config.rb +288 -0
  60. data/test/1.9/test_digest.rb +118 -0
  61. data/test/1.9/test_engine.rb +15 -0
  62. data/test/1.9/test_hmac.rb +32 -0
  63. data/test/1.9/test_ns_spki.rb +50 -0
  64. data/test/1.9/test_ocsp.rb +47 -0
  65. data/test/1.9/test_pair.rb +257 -0
  66. data/test/1.9/test_pkcs12.rb +209 -0
  67. data/test/1.9/test_pkcs7.rb +151 -0
  68. data/test/1.9/test_pkey_dh.rb +72 -0
  69. data/test/1.9/test_pkey_dsa.rb +224 -0
  70. data/test/1.9/test_pkey_ec.rb +182 -0
  71. data/test/1.9/test_pkey_rsa.rb +244 -0
  72. data/test/1.9/test_ssl.rb +455 -0
  73. data/test/1.9/test_ssl_session.rb +327 -0
  74. data/test/1.9/test_x509cert.rb +217 -0
  75. data/test/1.9/test_x509crl.rb +221 -0
  76. data/test/1.9/test_x509ext.rb +69 -0
  77. data/test/1.9/test_x509name.rb +296 -0
  78. data/test/1.9/test_x509req.rb +150 -0
  79. data/test/1.9/test_x509store.rb +229 -0
  80. data/test/1.9/utils.rb +304 -0
  81. data/test/fixture/ids_in_subject_rdn_set.pem +31 -0
  82. data/test/fixture/purpose/ca/ca_config.rb +1 -1
  83. data/test/fixture/purpose/ca/gen_cert.rb +128 -0
  84. data/test/fixture/purpose/ca/newcerts/4_cert.pem +19 -0
  85. data/test/fixture/purpose/ca/serial +1 -1
  86. data/test/fixture/purpose/sslserver_no_dsig_in_keyUsage.pem +19 -0
  87. data/test/ruby/envutil.rb +208 -0
  88. data/test/ruby/ut_eof.rb +128 -0
  89. data/test/test_certificate.rb +9 -0
  90. data/test/test_java.rb +1 -1
  91. data/test/test_openssl.rb +1 -1
  92. data/test/test_pkcs7.rb +16 -0
  93. data/test/test_pkey_dsa.rb +180 -0
  94. data/test/test_pkey_rsa.rb +298 -0
  95. data/test/test_ssl.rb +1 -1
  96. data/test/test_x509store.rb +8 -0
  97. metadata +133 -73
  98. data/lib/jopenssl.jar +0 -0
  99. data/test/test_pkey.rb +0 -204
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: jruby-openssl
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.7.4
5
+ version: 0.7.6.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ola Bini and JRuby contributors
@@ -10,8 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-04-28 00:00:00 +09:00
14
- default_executable:
13
+ date: 2012-02-15 00:00:00 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: bouncy-castle-java
@@ -21,9 +20,20 @@ dependencies:
21
20
  requirements:
22
21
  - - ">="
23
22
  - !ruby/object:Gem::Version
24
- version: "0"
23
+ version: 1.5.0146.1
25
24
  type: :runtime
26
25
  version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: rdoc
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: "3.10"
35
+ type: :development
36
+ version_requirements: *id002
27
37
  description: JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library.
28
38
  email: ola.bini@gmail.com
29
39
  executables: []
@@ -41,102 +51,152 @@ files:
41
51
  - Manifest.txt
42
52
  - README.txt
43
53
  - License.txt
44
- - lib/jopenssl.jar
45
- - lib/openssl.rb
46
- - lib/openssl/dummy.rb
47
- - lib/openssl/dummyssl.rb
48
- - lib/openssl/config.rb
49
- - lib/openssl/cipher.rb
50
- - lib/openssl/ssl.rb
51
- - lib/openssl/bn.rb
52
- - lib/openssl/x509.rb
53
- - lib/openssl/digest.rb
54
- - lib/openssl/buffering.rb
55
- - lib/openssl/pkcs7.rb
56
- - lib/jopenssl/version.rb
57
- - test/test_imaps.rb
54
+ - lib/shared/jopenssl.jar
55
+ - lib/1.9/openssl.rb
56
+ - lib/1.9/openssl/bn.rb
57
+ - lib/1.9/openssl/x509-internal.rb
58
+ - lib/1.9/openssl/cipher.rb
59
+ - lib/1.9/openssl/digest.rb
60
+ - lib/1.9/openssl/ssl.rb
61
+ - lib/1.9/openssl/buffering.rb
62
+ - lib/1.9/openssl/ssl-internal.rb
63
+ - lib/1.9/openssl/x509.rb
64
+ - lib/1.9/openssl/config.rb
65
+ - lib/shared/openssl.rb
66
+ - lib/shared/openssl/dummyssl.rb
67
+ - lib/shared/openssl/ssl.rb
68
+ - lib/shared/openssl/pkcs12.rb
69
+ - lib/shared/openssl/x509.rb
70
+ - lib/shared/openssl/dummy.rb
71
+ - lib/shared/jopenssl/version.rb
72
+ - lib/1.8/openssl.rb
73
+ - lib/1.8/openssl/bn.rb
74
+ - lib/1.8/openssl/pkcs7.rb
75
+ - lib/1.8/openssl/x509-internal.rb
76
+ - lib/1.8/openssl/cipher.rb
77
+ - lib/1.8/openssl/digest.rb
78
+ - lib/1.8/openssl/ssl.rb
79
+ - lib/1.8/openssl/buffering.rb
80
+ - lib/1.8/openssl/ssl-internal.rb
81
+ - lib/1.8/openssl/x509.rb
82
+ - lib/1.8/openssl/config.rb
58
83
  - test/test_all.rb
84
+ - test/test_pkey_dsa.rb
59
85
  - test/test_integration.rb
60
- - test/ut_eof.rb
61
- - test/test_java.rb
86
+ - test/test_ssl.rb
87
+ - test/test_parse_certificate.rb
62
88
  - test/test_openssl.rb
63
- - test/test_pkey.rb
64
- - test/test_cipher.rb
65
89
  - test/cert_with_ec_pk.cer
66
- - test/test_pkcs7.rb
90
+ - test/ut_eof.rb
67
91
  - test/test_x509store.rb
92
+ - test/test_imaps.rb
68
93
  - test/test_certificate.rb
69
- - test/test_parse_certificate.rb
70
- - test/test_ssl.rb
71
- - test/openssl/test_x509name.rb
72
- - test/openssl/test_ns_spki.rb
73
- - test/openssl/test_x509cert.rb
74
- - test/openssl/ssl_server.rb
75
- - test/openssl/test_pair.rb
76
- - test/openssl/test_ec.rb
77
- - test/openssl/test_config.rb
78
- - test/openssl/utils.rb
79
- - test/openssl/test_x509req.rb
80
- - test/openssl/test_cipher.rb
81
- - test/openssl/test_digest.rb
82
- - test/openssl/test_x509ext.rb
83
- - test/openssl/test_asn1.rb
84
- - test/openssl/test_pkcs7.rb
85
- - test/openssl/test_x509store.rb
86
- - test/openssl/test_pkey_rsa.rb
87
- - test/openssl/test_ssl.rb
88
- - test/openssl/test_x509crl.rb
89
- - test/openssl/test_hmac.rb
90
- - test/ref/compile.rb
94
+ - test/test_pkcs7.rb
95
+ - test/test_cipher.rb
96
+ - test/test_pkey_rsa.rb
97
+ - test/test_java.rb
98
+ - test/1.9/test_ssl_session.rb
99
+ - test/1.9/test_engine.rb
100
+ - test/1.9/test_asn1.rb
101
+ - test/1.9/test_pkey_dh.rb
102
+ - test/1.9/test_pkey_dsa.rb
103
+ - test/1.9/test_ocsp.rb
104
+ - test/1.9/ssl_server.rb
105
+ - test/1.9/test_x509ext.rb
106
+ - test/1.9/utils.rb
107
+ - test/1.9/test_ssl.rb
108
+ - test/1.9/test_buffering.rb
109
+ - test/1.9/test_ns_spki.rb
110
+ - test/1.9/test_digest.rb
111
+ - test/1.9/test_pair.rb
112
+ - test/1.9/test_x509crl.rb
113
+ - test/1.9/test_x509store.rb
114
+ - test/1.9/test_bn.rb
115
+ - test/1.9/test_pkey_ec.rb
116
+ - test/1.9/test_pkcs7.rb
117
+ - test/1.9/test_pkcs12.rb
118
+ - test/1.9/test_cipher.rb
119
+ - test/1.9/test_pkey_rsa.rb
120
+ - test/1.9/test_x509req.rb
121
+ - test/1.9/test_x509name.rb
122
+ - test/1.9/test_hmac.rb
123
+ - test/1.9/test_x509cert.rb
124
+ - test/1.9/test_config.rb
91
125
  - test/ref/a.out
92
126
  - test/ref/pkcs1
93
127
  - test/ref/pkcs1.c
94
- - test/fixture/cacert.pem
95
- - test/fixture/ca-bundle.crt
128
+ - test/ref/compile.rb
96
129
  - test/fixture/common.pem
97
130
  - test/fixture/key_then_cert.pem
131
+ - test/fixture/keypair.pem
132
+ - test/fixture/cacert.pem
98
133
  - test/fixture/verisign.pem
99
134
  - test/fixture/cert_localhost.pem
100
- - test/fixture/localhost_keypair.pem
101
- - test/fixture/verisign_c3.pem
102
135
  - test/fixture/selfcert.pem
103
136
  - test/fixture/max.pem
104
- - test/fixture/keypair.pem
137
+ - test/fixture/localhost_keypair.pem
138
+ - test/fixture/ids_in_subject_rdn_set.pem
139
+ - test/fixture/ca-bundle.crt
140
+ - test/fixture/verisign_c3.pem
141
+ - test/fixture/ca_path/72fa7371.0
142
+ - test/fixture/ca_path/verisign.pem
143
+ - test/fixture/imaps/cacert.pem
144
+ - test/fixture/imaps/server.crt
145
+ - test/fixture/imaps/server.key
146
+ - test/fixture/purpose/sslserver_no_dsig_in_keyUsage.pem
105
147
  - test/fixture/purpose/cacert.pem
106
- - test/fixture/purpose/b70a5bc1.0
107
- - test/fixture/purpose/sslclient.pem
108
148
  - test/fixture/purpose/sslserver.pem
109
- - test/fixture/purpose/sslclient/sslclient.pem
110
- - test/fixture/purpose/sslclient/csr.pem
111
- - test/fixture/purpose/sslclient/keypair.pem
112
- - test/fixture/purpose/ca/cacert.pem
149
+ - test/fixture/purpose/sslclient.pem
150
+ - test/fixture/purpose/b70a5bc1.0
151
+ - test/fixture/purpose/ca/serial
152
+ - test/fixture/purpose/ca/gen_cert.rb
113
153
  - test/fixture/purpose/ca/PASSWD_OF_CA_KEY_IS_1234
114
154
  - test/fixture/purpose/ca/ca_config.rb
115
- - test/fixture/purpose/ca/serial
116
- - test/fixture/purpose/ca/newcerts/2_cert.pem
117
- - test/fixture/purpose/ca/newcerts/3_cert.pem
155
+ - test/fixture/purpose/ca/cacert.pem
118
156
  - test/fixture/purpose/ca/private/cakeypair.pem
157
+ - test/fixture/purpose/ca/newcerts/4_cert.pem
158
+ - test/fixture/purpose/ca/newcerts/3_cert.pem
159
+ - test/fixture/purpose/ca/newcerts/2_cert.pem
160
+ - test/fixture/purpose/sslclient/csr.pem
161
+ - test/fixture/purpose/sslclient/keypair.pem
162
+ - test/fixture/purpose/sslclient/sslclient.pem
119
163
  - test/fixture/purpose/scripts/gen_cert.rb
120
164
  - test/fixture/purpose/scripts/init_ca.rb
121
165
  - test/fixture/purpose/scripts/gen_csr.rb
122
- - test/fixture/purpose/sslserver/sslserver.pem
123
166
  - test/fixture/purpose/sslserver/csr.pem
124
167
  - test/fixture/purpose/sslserver/keypair.pem
125
- - test/fixture/imaps/cacert.pem
126
- - test/fixture/imaps/server.crt
127
- - test/fixture/imaps/server.key
128
- - test/fixture/ca_path/verisign.pem
129
- - test/fixture/ca_path/72fa7371.0
168
+ - test/fixture/purpose/sslserver/sslserver.pem
169
+ - test/ruby/ut_eof.rb
170
+ - test/ruby/envutil.rb
130
171
  - test/java/pkcs7_mime_enveloped.message
131
- - test/java/pkcs7_mime_signed.message
172
+ - test/java/test_java_attribute.rb
132
173
  - test/java/test_java_pkcs7.rb
133
- - test/java/test_java_bio.rb
134
- - test/java/pkcs7_multipart_signed.message
135
174
  - test/java/test_java_mime.rb
136
- - test/java/test_java_attribute.rb
175
+ - test/java/pkcs7_mime_signed.message
137
176
  - test/java/test_java_smime.rb
138
- has_rdoc: true
139
- homepage: http://jruby-extras.rubyforge.org/jruby-openssl
177
+ - test/java/pkcs7_multipart_signed.message
178
+ - test/java/test_java_bio.rb
179
+ - test/1.8/test_asn1.rb
180
+ - test/1.8/ssl_server.rb
181
+ - test/1.8/test_x509ext.rb
182
+ - test/1.8/utils.rb
183
+ - test/1.8/test_ssl.rb
184
+ - test/1.8/test_ec.rb
185
+ - test/1.8/test_ns_spki.rb
186
+ - test/1.8/test_digest.rb
187
+ - test/1.8/test_pair.rb
188
+ - test/1.8/test_x509crl.rb
189
+ - test/1.8/test_x509store.rb
190
+ - test/1.8/test_pkcs7.rb
191
+ - test/1.8/test_cipher.rb
192
+ - test/1.8/test_pkey_rsa.rb
193
+ - test/1.8/test_x509req.rb
194
+ - test/1.8/test_x509name.rb
195
+ - test/1.8/test_hmac.rb
196
+ - test/1.8/test_x509cert.rb
197
+ - test/1.8/test_config.rb
198
+ - .gemtest
199
+ homepage: https://github.com/jruby/jruby-ossl
140
200
  licenses: []
141
201
 
142
202
  post_install_message:
@@ -144,7 +204,7 @@ rdoc_options:
144
204
  - --main
145
205
  - README.txt
146
206
  require_paths:
147
- - lib
207
+ - lib/shared
148
208
  required_ruby_version: !ruby/object:Gem::Requirement
149
209
  none: false
150
210
  requirements:
@@ -160,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
220
  requirements: []
161
221
 
162
222
  rubyforge_project: jruby-extras
163
- rubygems_version: 1.5.1
223
+ rubygems_version: 1.8.15
164
224
  signing_key:
165
225
  specification_version: 3
166
226
  summary: OpenSSL add-on for JRuby
data/lib/jopenssl.jar DELETED
Binary file
data/test/test_pkey.rb DELETED
@@ -1,204 +0,0 @@
1
- begin
2
- require "openssl"
3
- rescue LoadError
4
- end
5
-
6
- require "test/unit"
7
-
8
- class TestPKey < Test::Unit::TestCase
9
- def test_has_correct_methods
10
- pkey_methods = OpenSSL::PKey::PKey.instance_methods(false).sort - ["initialize"]
11
- assert_equal ["sign", "verify"], pkey_methods
12
-
13
- rsa_methods = OpenSSL::PKey::RSA.instance_methods(false).sort - ["initialize"]
14
- 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
15
-
16
- assert_equal ["generate"], OpenSSL::PKey::RSA.methods(false)
17
-
18
- # dsa_methods = OpenSSL::PKey::DSA.instance_methods(false).sort - ["initialize"]
19
- # assert_equal ["export", "g", "g=", "p", "p=", "params", "priv_key", "priv_key=", "private?", "pub_key", "pub_key=", "public?", "public_key", "q", "q=", "syssign", "sysverify", "to_der", "to_pem", "to_s", "to_text"], dsa_methods
20
-
21
- # assert_equal ["generate"], OpenSSL::PKey::DSA.methods(false)
22
- end
23
-
24
- #iqmp == coefficient
25
- #e == public exponent
26
- #n == modulus
27
- #d == private exponent
28
- #p == prime1
29
- #q == prime2
30
- #dmq1 == exponent2
31
- #dmp1 == exponent1
32
-
33
- def test_can_generate_rsa_key
34
- OpenSSL::PKey::RSA.generate(512)
35
- end
36
-
37
- def test_can_generate_dsa_key
38
- OpenSSL::PKey::DSA.generate(512)
39
- end
40
-
41
- def test_malformed_rsa_handling
42
- pem = <<__EOP__
43
- -----BEGIN PUBLIC KEY-----
44
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtiU1/UMzIQ1On9OlZGoV
45
- S0yySFYWoXLH12nmP69fg9jwdRbQlb0rxLn7zATbwfqcvGpCcW+8SmdwW74elNrc
46
- wRtbKjJKfbJCsVfDssbbj6BF+Bcq3ihi8+CGNXFdJOYhZZ+5Adg2Qc9Qp3Ubw9wu
47
- /3Ai87+1aQxoZPMFwdX2BRiZvxch9dwHVyL8EuFGUOYId/8JQepHyZMbTqp/8wlA
48
- UAbMcPW+IKp3N0WMgred3CjXKHAqqM0Ira9RLSXdlO2uFV4OrM0ak8rnTN5w1DsI
49
- McjvVvOck0aIxfHEEmeadt3YMn4PCW33/j8geulZLvt0ci60/OWMSCcIqByITlvY
50
- DwIDAQAB
51
- -----END PUBLIC KEY-----
52
- __EOP__
53
- pkey = OpenSSL::PKey::RSA.new(pem)
54
- # jruby-openssl/0.6 raises NativeException
55
- assert_raise(OpenSSL::PKey::RSAError, 'JRUBY-4492') do
56
- pkey.public_decrypt("rah")
57
- end
58
- end
59
-
60
- # http://github.com/jruby/jruby-openssl/issues#issue/1
61
- def test_load_pkey_rsa
62
- pem = <<__EOP__
63
- -----BEGIN PRIVATE KEY-----
64
- MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALRiMLAh9iimur8V
65
- A7qVvdqxevEuUkW4K+2KdMXmnQbG9Aa7k7eBjK1S+0LYmVjPKlJGNXHDGuy5Fw/d
66
- 7rjVJ0BLB+ubPK8iA/Tw3hLQgXMRRGRXXCn8ikfuQfjUS1uZSatdLB81mydBETlJ
67
- hI6GH4twrbDJCR2Bwy/XWXgqgGRzAgMBAAECgYBYWVtleUzavkbrPjy0T5FMou8H
68
- X9u2AC2ry8vD/l7cqedtwMPp9k7TubgNFo+NGvKsl2ynyprOZR1xjQ7WgrgVB+mm
69
- uScOM/5HVceFuGRDhYTCObE+y1kxRloNYXnx3ei1zbeYLPCHdhxRYW7T0qcynNmw
70
- rn05/KO2RLjgQNalsQJBANeA3Q4Nugqy4QBUCEC09SqylT2K9FrrItqL2QKc9v0Z
71
- zO2uwllCbg0dwpVuYPYXYvikNHHg+aCWF+VXsb9rpPsCQQDWR9TT4ORdzoj+Nccn
72
- qkMsDmzt0EfNaAOwHOmVJ2RVBspPcxt5iN4HI7HNeG6U5YsFBb+/GZbgfBT3kpNG
73
- WPTpAkBI+gFhjfJvRw38n3g/+UeAkwMI2TJQS4n8+hid0uus3/zOjDySH3XHCUno
74
- cn1xOJAyZODBo47E+67R4jV1/gzbAkEAklJaspRPXP877NssM5nAZMU0/O/NGCZ+
75
- 3jPgDUno6WbJn5cqm8MqWhW1xGkImgRk+fkDBquiq4gPiT898jusgQJAd5Zrr6Q8
76
- AO/0isr/3aa6O6NLQxISLKcPDk2NOccAfS/xOtfOz4sJYM3+Bs4Io9+dZGSDCA54
77
- Lw03eHTNQghS0A==
78
- -----END PRIVATE KEY-----
79
- __EOP__
80
- assert_nothing_raised do
81
- pkey = OpenSSL::PKey::RSA.new(pem)
82
- pkey2 = OpenSSL::PKey::RSA.new(pkey.to_pem)
83
- assert_equal(pkey.n, pkey2.n)
84
- assert_equal(pkey.e, pkey2.e)
85
- assert_equal(pkey.d, pkey2.d)
86
- end
87
- end
88
-
89
- def test_load_pkey_rsa_enc
90
- # password is '1234'
91
- pem = <<__EOP__
92
- -----BEGIN ENCRYPTED PRIVATE KEY-----
93
- MIICoTAbBgkqhkiG9w0BBQMwDgQIfvehP6JEg2wCAggABIICgD7kzSr+xWgdAuzG
94
- cYNkCEWyKF6V0cJ58AKSoL4FQ59OQvQP/hMnSZEMiUpeGNRE6efC7O02RUjNarIk
95
- ciCYIBqd5EFG3OSypK5l777AbCChIkzZHbyE/pIbadr8ZX9C4pkwzPqS0Avzavxi
96
- 5s1WDX2GggJkBcQUijqG9QuOZcOvoYbojHPT4tdJq+J6s+0LFas9Jp3a6dYkxtgv
97
- u8Z6EFDZoLGOSVy/jCSMuZAnhoOxUCYqd9FFo2jryV7tQ/CaYAUApAQFTLgBA9qk
98
- 4WmyKRpwzIx6EG1pkqulvPXJCcTat9YwllEDVuQ2rKVwDepSl9O7X170Kx1sBecz
99
- mGcfqviU9xwP5mkXO/TLoTZExkHF08Y3d/PTMdxGEDZH37/yRqCIb3Uyqv/jLibM
100
- /s9fm52aWsfO1ndHEhciovlMJvGXq3+e+9gmq1w2TyNQahRc5fwfhwWKhPKfYDBk
101
- 7AtjPGfELDX61WZ5m+4Kb70BcGSAEgXCaBydVsMROy0B8jkYgtAnVBb4EMrGOsCG
102
- jmNeW9MRIhrhDcifdyq1DMNg7IONMF+5mDdQ3FhK6WzlFU+8cTN517qA8L3A3+ZX
103
- asiS+rx5/50InINknjuvVkmTGMzjl89nMNrZCjhx9sIDfXQ3ZKFmh1mvnXq/fLan
104
- CgXn/UtLoykrSlobgqIxZslhj3p01kMCgGe62S3kokYrDTQEc57rlKWWR3Xyjy/T
105
- LsecXAKEROj95IHSMMnT4jl+TJnbvGKQ2U9tOOB3W+OOOlDEFE59pQlcmQPAwdzr
106
- mzI4kupi3QRTFjOgvX29leII9sPtpr4dKMKVIRxKnvMZhUAkS/n3+Szfa6zKexLa
107
- 4CHVgDo=
108
- -----END ENCRYPTED PRIVATE KEY-----
109
- __EOP__
110
- assert_nothing_raised do
111
- pkey = OpenSSL::PKey::RSA.new(pem, '1234')
112
- pkey2 = OpenSSL::PKey::RSA.new(pkey.to_pem)
113
- assert_equal(pkey.n, pkey2.n)
114
- assert_equal(pkey.e, pkey2.e)
115
- assert_equal(pkey.d, pkey2.d)
116
- end
117
- end
118
-
119
- # jruby-openssl/0.6 causes NPE
120
- def test_generate_pkey_rsa_empty
121
- assert_nothing_raised do
122
- OpenSSL::PKey::RSA.new.to_pem
123
- end
124
- end
125
-
126
- def test_generate_pkey_rsa_length
127
- assert_nothing_raised do
128
- OpenSSL::PKey::RSA.new(512).to_pem
129
- end
130
- end
131
-
132
- def test_generate_pkey_rsa_to_text
133
- assert_match(
134
- /Private-Key: \(512 bit\)/,
135
- OpenSSL::PKey::RSA.new(512).to_text
136
- )
137
- end
138
-
139
- def test_load_pkey_rsa
140
- pkey = OpenSSL::PKey::RSA.new(512)
141
- assert_equal(pkey.to_pem, OpenSSL::PKey::RSA.new(pkey.to_pem).to_pem)
142
- end
143
-
144
- def test_load_pkey_rsa_public
145
- pkey = OpenSSL::PKey::RSA.new(512).public_key
146
- assert_equal(pkey.to_pem, OpenSSL::PKey::RSA.new(pkey.to_pem).to_pem)
147
- end
148
-
149
- def test_load_pkey_rsa_der
150
- pkey = OpenSSL::PKey::RSA.new(512)
151
- assert_equal(pkey.to_der, OpenSSL::PKey::RSA.new(pkey.to_der).to_der)
152
- end
153
-
154
- def test_load_pkey_rsa_public_der
155
- pkey = OpenSSL::PKey::RSA.new(512).public_key
156
- assert_equal(pkey.to_der, OpenSSL::PKey::RSA.new(pkey.to_der).to_der)
157
- end
158
-
159
- # jruby-openssl/0.6 causes NPE
160
- def test_generate_pkey_dsa_empty
161
- assert_nothing_raised do
162
- OpenSSL::PKey::DSA.new.to_pem
163
- end
164
- end
165
-
166
- # jruby-openssl/0.6 ignores fixnum arg => to_pem returned 65 bytes with 'MAA='
167
- def test_generate_pkey_dsa_length
168
- assert(OpenSSL::PKey::DSA.new(512).to_pem.size > 100)
169
- end
170
-
171
- # jruby-openssl/0.6 returns nil for DSA#to_text
172
- def test_generate_pkey_dsa_to_text
173
- assert_match(
174
- /Private-Key: \(512 bit\)/,
175
- OpenSSL::PKey::DSA.new(512).to_text
176
- )
177
- end
178
-
179
- def test_load_pkey_dsa
180
- pkey = OpenSSL::PKey::DSA.new(512)
181
- assert_equal(pkey.to_pem, OpenSSL::PKey::DSA.new(pkey.to_pem).to_pem)
182
- end
183
-
184
- def test_load_pkey_dsa_public
185
- pkey = OpenSSL::PKey::DSA.new(512).public_key
186
- assert_equal(pkey.to_pem, OpenSSL::PKey::DSA.new(pkey.to_pem).to_pem)
187
- end
188
-
189
- def test_load_pkey_dsa_der
190
- pkey = OpenSSL::PKey::DSA.new(512)
191
- assert_equal(pkey.to_der, OpenSSL::PKey::DSA.new(pkey.to_der).to_der)
192
- end
193
-
194
- def test_load_pkey_dsa_public_der
195
- pkey = OpenSSL::PKey::DSA.new(512).public_key
196
- assert_equal(pkey.to_der, OpenSSL::PKey::DSA.new(pkey.to_der).to_der)
197
- end
198
-
199
- def test_load_pkey_dsa_net_ssh
200
- 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"
201
- pkey = OpenSSL::PKey::DSA.new(blob)
202
- assert_equal(blob, pkey.to_der)
203
- end
204
- end