jruby-openssl 0.9.5-java → 0.9.6-java
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.
- checksums.yaml +4 -4
- data/History.md +279 -0
- data/LICENSE.txt +37 -0
- data/README.md +55 -0
- data/Rakefile +13 -0
- data/lib/jopenssl.jar +0 -0
- data/lib/jopenssl/load.rb +13 -10
- data/lib/jopenssl/version.rb +2 -2
- data/lib/jopenssl18/openssl/bn.rb +0 -10
- data/lib/jopenssl18/openssl/cipher.rb +1 -38
- data/lib/jopenssl18/openssl/digest.rb +0 -29
- data/lib/jopenssl18/openssl/ssl-internal.rb +5 -29
- data/lib/jopenssl18/openssl/x509-internal.rb +0 -43
- data/lib/jopenssl19/openssl.rb +0 -1
- data/lib/jopenssl19/openssl/bn.rb +4 -10
- data/lib/jopenssl19/openssl/cipher.rb +4 -41
- data/lib/jopenssl19/openssl/digest.rb +3 -43
- data/lib/jopenssl19/openssl/ssl-internal.rb +5 -27
- data/lib/jopenssl19/openssl/x509-internal.rb +0 -43
- data/lib/jopenssl21/openssl.rb +0 -1
- data/lib/jopenssl21/openssl/bn.rb +0 -6
- data/lib/jopenssl21/openssl/cipher.rb +1 -38
- data/lib/jopenssl21/openssl/digest.rb +1 -41
- data/lib/jopenssl21/openssl/ssl.rb +5 -37
- data/lib/jopenssl21/openssl/x509.rb +0 -43
- data/lib/org/bouncycastle/bcpkix-jdk15on/1.49/bcpkix-jdk15on-1.49.jar +0 -0
- data/lib/org/bouncycastle/bcprov-jdk15on/1.49/bcprov-jdk15on-1.49.jar +0 -0
- metadata +76 -46
- data/History.txt +0 -218
- data/License.txt +0 -30
- data/Mavenfile +0 -44
- data/README.txt +0 -13
- data/lib/org/bouncycastle/bcpkix-jdk15on/1.47/bcpkix-jdk15on-1.47.jar +0 -0
- data/lib/org/bouncycastle/bcprov-jdk15on/1.47/bcprov-jdk15on-1.47.jar +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0baa29e60eebbb6a6732543f67f646d31c16cf35
|
4
|
+
data.tar.gz: 989eb1904efe5a189eb963444953638ef074e641
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f9b6a70fd28c85ad8431741ca002026b36a04cf6041e3c9b3a912a56896c08b5053913995eac75abc0828d7620aa426ab6d6520149a63164cffbc92df7fe5de
|
7
|
+
data.tar.gz: bbf39a92d4fa4d78fdcefcdf66682809f06c3c7c4e0b00e85b5f38efb737035ec669c0a6b311a08838ab0ad52713ed885c59b516d6a1c0f912a16bb4223400dc
|
data/History.md
ADDED
@@ -0,0 +1,279 @@
|
|
1
|
+
== 0.9.6 (pending)
|
2
|
+
|
3
|
+
* match X.509 extension short-comings of the Java API in order to align with MRI
|
4
|
+
* improve cert.extension's value - *extendedKeyUsage* was not returned correctly
|
5
|
+
* make sure ASN1::ObjectId.new(...).ln and ASN1::ObjectId.new(...).sn are correct!
|
6
|
+
* better working to_der conversion esp. with constructives (indefinite lengths)
|
7
|
+
* improve our ASN1 decoding for better MRI compatibility
|
8
|
+
* avoiding Krypt gem dependency completely (was used for OpenSSL::PKCS5)
|
9
|
+
* cleanup OpenSSL::Digest internals - make sure block_length works for more
|
10
|
+
* OpenSSL deprecated_warning_flag and check_func API compatibility stubs
|
11
|
+
* do not force loading of jar-dependencies + possibly respect jars skipped
|
12
|
+
* X509::Name.to_a compatibility - MRI seems to never return "UNDEF"
|
13
|
+
experimental support for passing down "real" Java JCE cipher names
|
14
|
+
* rewriten Cipher internals - now faster, slimmer and more compatible than ever!
|
15
|
+
* rebuilt our global ASN1Registry and refactored it (back) internally to use string oids
|
16
|
+
* report OpenSSL::VERSION **1.1.0** since 1.9.3
|
17
|
+
* fill RaiseException's cause whenever we use a factory passing down a Throwable
|
18
|
+
* allow X509::Revoked.serial= to receive an integer
|
19
|
+
* make sure X509::CRL's to_text representation si (fully) MRI compatible
|
20
|
+
* handle authority key-id unwrapping correctly in X509::Extension#value
|
21
|
+
* long time coming - OpenSSL::X509::CRL support for loading revoked entries (#5)
|
22
|
+
* Reflect Java cacert location in DEFAULT_CERT_* constants (jruby/jruby#1953)
|
23
|
+
* X509::Certificate.new MRI compatibility + make sure inspect works the same
|
24
|
+
* BN.inspect() and make sure BN.new(0) works just fine (both as in MRI)
|
25
|
+
* X509::CRL instantiation compatibility with MRI
|
26
|
+
* inspect() X509::Certificate an X509::CRL just like MRI does
|
27
|
+
* handle OpenSSL::X509::Store.add error messages correctly (fix based on #6)
|
28
|
+
* update to using BC 1.49 by default (still compatible with older versions)
|
29
|
+
* implement X509::StoreContext#current_crl method
|
30
|
+
* support X509::StoreContext cleanup and error_depth instance methods
|
31
|
+
* support disabling of warnings using system property -Djruby.openssl.warn
|
32
|
+
* Throw error when chain certs are *not* OpenSSL::X509::Certificate (#3)
|
33
|
+
* avoid using JRuby IO APIs (will likely not work in 9k)
|
34
|
+
* make 'jopenssl/load' also work on jruby-1.6.8 mode 1.9
|
35
|
+
|
36
|
+
== 0.9.5
|
37
|
+
|
38
|
+
MASSIVE internal "rewrite" to avoid depending on a registered (BC) security
|
39
|
+
provider. This releases restores compatibility with BC version 1.47 while being
|
40
|
+
compatible with newer bouncy-castle jars as well (1.48, 1.49 and 1.50).
|
41
|
+
|
42
|
+
* handle SSLErrorWaitReadable/Writable as SSLErrors on Ruby 1.8 and 1.9 mode
|
43
|
+
* Treat SSL NOT_HANDSHAKING as FINISHED
|
44
|
+
* only add DER.TRUE when encoding X.509 extension when non-critical
|
45
|
+
* do not der encode non-critical flag in X509::Extension (jruby/jruby#389)
|
46
|
+
* SSLContext internals + support `SSLContext::METHODS` correctly (jruby/jruby#1596)
|
47
|
+
* correct visibility of initialize* and respond_to_missing? methods
|
48
|
+
* fix spinning indefinitely on partial TLS record (jruby/jruby#1280)
|
49
|
+
* Support file input for PKey::RSA.new
|
50
|
+
* fix bug https://github.com/jruby/jruby/issues/1156
|
51
|
+
* openssl: add handling for base 0 to new and to_s
|
52
|
+
|
53
|
+
== 0.9.4
|
54
|
+
|
55
|
+
* Fix compatibility wiht Bouncy Castle 1.49.
|
56
|
+
|
57
|
+
== 0.9.3
|
58
|
+
|
59
|
+
* Allow options passed to nonblock methods (not impl'ed yet)
|
60
|
+
* Make ClassIndex into an enum, to prevent issues like jruby/jruby#1004
|
61
|
+
|
62
|
+
|
63
|
+
== ...
|
64
|
+
|
65
|
+
|
66
|
+
== 0.7.7
|
67
|
+
|
68
|
+
This release includes bug fixes.
|
69
|
+
|
70
|
+
* JRUBY-6622: Support loading encrypted RSA key with PBES2
|
71
|
+
* JRUBY-4326: Confusing (and late) OpenSSL error message
|
72
|
+
* JRUBY-6579: Avoid ClassCastException for public key loading
|
73
|
+
* JRUBY-6515: sending UTF-8 data over SSL can hang with openssl
|
74
|
+
* Update tests to sync with CRuby ruby_1_9_3
|
75
|
+
|
76
|
+
== 0.7.6
|
77
|
+
|
78
|
+
This release includes initial implementation of PKCS12 by Owen Ou.
|
79
|
+
|
80
|
+
* JRUBY-5066: Implement OpenSSL::PKCS12 (only for simple case)
|
81
|
+
* JRUBY-6385: Assertion failure with -J-ea
|
82
|
+
|
83
|
+
== 0.7.5
|
84
|
+
|
85
|
+
This release improved 1.9 mode support with help of
|
86
|
+
Duncan Mak <duncan@earthaid.net>. Now jruby-ossl gem includes both 1.8 and 1.9
|
87
|
+
libraries and part of features should work fine on 1.9 mode, too.
|
88
|
+
|
89
|
+
* JRUBY-6270: Wrong keyUsage check for SSL server
|
90
|
+
* JRUBY-6260: OpenSSL::ASN1::Integer#value incompatibility
|
91
|
+
* JRUBY-6044: Improve Ecrypted RSA/DSA pem support
|
92
|
+
* JRUBY-5972: Allow to load/dump empty PKCS7 data
|
93
|
+
* JRUBY-5834: Fix X509Name handling; X509Name RDN can include multiple elements
|
94
|
+
* JRUBY-5362: Improved 1.9 support
|
95
|
+
* JRUBY-4992: Warn if loaded by non JRuby interpreter
|
96
|
+
|
97
|
+
== 0.7.4
|
98
|
+
|
99
|
+
* JRUBY-5519: Avoid String encoding dependency in DER loading. PEM loading
|
100
|
+
failed on JRuby 1.6.x. Fixed.
|
101
|
+
* JRUBY-5510: Add debug information to released jar
|
102
|
+
* JRUBY-5478: Update bouncycastle jars to the latest version. (1.46)
|
103
|
+
|
104
|
+
== 0.7.3
|
105
|
+
|
106
|
+
* JRUBY-5200: Net::IMAP + SSL(imaps) login could hang. Fixed.
|
107
|
+
* JRUBY-5253: Allow to load the certificate file which includes private
|
108
|
+
key for activemarchant compatibility.
|
109
|
+
* JRUBY-5267: Added SSL socket error-checks to avoid busy loop under an
|
110
|
+
unknown condition.
|
111
|
+
* JRUBY-5316: Improvements for J9's IBMJCE support. Now all testcases
|
112
|
+
pass on J9 JDK 6.
|
113
|
+
|
114
|
+
== 0.7.2
|
115
|
+
|
116
|
+
* JRUBY-5126: Ignore Cipher#reset and Cipher#iv= when it's a stream
|
117
|
+
cipher (Net::SSH compatibility)
|
118
|
+
* JRUBY-5125: let Cipher#name for 'rc4' to be 'RC4' (Net::SSH
|
119
|
+
compatibility)
|
120
|
+
* JRUBY-5096: Fixed inconsistent Certificate verification behavior
|
121
|
+
* JRUBY-5060: Avoid NPE from to_pem for empty X509 Objects
|
122
|
+
* JRUBY-5059: SSLSocket ignores Timeout (Fixed)
|
123
|
+
* JRUBY-4965: implemented OpenSSL::Config
|
124
|
+
* JRUBY-5023: make Certificate#signature_algorithm return correct algo
|
125
|
+
name; "sha1WithRSAEncryption" instead of "SHA1"
|
126
|
+
* JRUBY-5024: let HMAC.new accept a String as a digest name
|
127
|
+
* JRUBY-5018: SSLSocket holds selectors, keys, preventing quick
|
128
|
+
cleanup of resources when dereferenced
|
129
|
+
|
130
|
+
== 0.7.1
|
131
|
+
|
132
|
+
NOTE: Now BouncyCastle jars has moved out to its own gem "bouncy-castle-java"
|
133
|
+
http://rubygems.org/gems/bouncy-castle-java. You don't need to care about it
|
134
|
+
because "jruby-openssl" gem depends on it from now on.
|
135
|
+
|
136
|
+
* JRUBY-4826 net/https client possibly raises "rbuf_fill': End of file
|
137
|
+
reached (EOFError)" for HTTP chunked read.
|
138
|
+
|
139
|
+
* JRUBY-4900: Set proper String to OpenSSL::OPENSSL_VERSION. Make sure
|
140
|
+
it's not an OpenSSL artifact: "OpenSSL 0.9.8b 04 May 2006
|
141
|
+
(JRuby-OpenSSL fake)" -> "jruby-ossl 0.7.1"
|
142
|
+
* JRUBY-4975: Moving BouncyCastle jars out to its own gem.
|
143
|
+
|
144
|
+
== 0.7
|
145
|
+
|
146
|
+
* Follow MRI 1.8.7 openssl API changes
|
147
|
+
* Fixes so that jruby-openssl can run on appengine
|
148
|
+
* Many bug and compatibility fixes, see below.
|
149
|
+
* This is the last release that will be compatible with JRuby 1.4.x.
|
150
|
+
* Compatibility issues
|
151
|
+
- JRUBY-4342: Follow ruby-openssl of CRuby 1.8.7.
|
152
|
+
- JRUBY-4346: Sync tests with tests for ruby-openssl of CRuby 1.8.7.
|
153
|
+
- JRUBY-4444: OpenSSL crash running RubyGems tests
|
154
|
+
- JRUBY-4075: Net::SSH gives OpenSSL::Cipher::CipherError "No message
|
155
|
+
available"
|
156
|
+
- JRUBY-4076: Net::SSH padding error using 3des-cbc on Solaris
|
157
|
+
- JRUBY-4541: jruby-openssl doesn't load on App Engine.
|
158
|
+
- JRUBY-4077: Net::SSH "all authorization methods failed" Solaris -> Solaris
|
159
|
+
- JRUBY-4535: Issues with the BouncyCastle provider
|
160
|
+
- JRUBY-4510: JRuby-OpenSSL crashes when JCE fails a initialise bcprov
|
161
|
+
- JRUBY-4343: Update BouncyCastle jar to upstream version; jdk14-139 ->
|
162
|
+
jdk15-144
|
163
|
+
Cipher issues
|
164
|
+
- JRUBY-4012: Initialization vector length handled differently than in MRI
|
165
|
+
(longer IV sequence are trimmed to fit the required)
|
166
|
+
- JRUBY-4473: Implemented DSA key generation
|
167
|
+
- JRUBY-4472: Cipher does not support RC4 and CAST
|
168
|
+
- JRUBY-4577: InvalidParameterException 'Wrong keysize: must be equal to 112 or
|
169
|
+
168' for DES3 + SunJCE
|
170
|
+
SSL and X.509(PKIX) issues
|
171
|
+
- JRUBY-4384: TCP socket connection causes busy loop of SSL server
|
172
|
+
- JRUBY-4370: Implement SSLContext#ciphers
|
173
|
+
- JRUBY-4688: SSLContext#ciphers does not accept 'DEFAULT'
|
174
|
+
- JRUBY-4357: SSLContext#{setup,ssl_version=} are not implemented
|
175
|
+
- JRUBY-4397: SSLContext#extra_chain_cert and SSLContext#client_ca
|
176
|
+
- JRUBY-4684: SSLContext#verify_depth is ignored
|
177
|
+
- JRUBY-4398: SSLContext#options does not affect to SSL sessions
|
178
|
+
- JRUBY-4360: Implement SSLSocket#verify_result and dependents
|
179
|
+
- JRUBY-3829: SSLSocket#read should clear given buffer before concatenating
|
180
|
+
(ByteBuffer.java:328:in `allocate': java.lang.IllegalArgumentException when
|
181
|
+
returning SOAP queries over a certain size)
|
182
|
+
- JRUBY-4686: SSLSocket can drop last chunk of data just before inbound channel
|
183
|
+
close
|
184
|
+
- JRUBY-4369: X509Store#verify_callback is not called
|
185
|
+
- JRUBY-4409: OpenSSL::X509::Store#add_file corrupts when it includes
|
186
|
+
certificates which have the same subject (problem with
|
187
|
+
ruby-openid-apps-discovery (github jruby-openssl issue #2))
|
188
|
+
- JRUBY-4333: PKCS#8 formatted privkey read
|
189
|
+
- JRUBY-4454: Loading Key file as a Certificate causes NPE
|
190
|
+
- JRUBY-4455: calling X509::Certificate#sign for the Certificate initialized
|
191
|
+
from PEM causes IllegalStateException
|
192
|
+
PKCS#7 issues
|
193
|
+
- JRUBY-4379: PKCS7#sign failed for DES3 cipher algorithm
|
194
|
+
- JRUBY-4428: Allow to use DES-EDE3-CBC in PKCS#7 w/o the Policy Files (rake
|
195
|
+
test doesn't finish on JDK5 w/o policy files update)
|
196
|
+
Misc
|
197
|
+
- JRUBY-4574: jruby-openssl deprecation warning cleanup
|
198
|
+
- JRUBY-4591: jruby-1.4 support
|
199
|
+
|
200
|
+
== 0.6
|
201
|
+
|
202
|
+
* This is a recommended upgrade to jruby-openssl. A security problem
|
203
|
+
involving peer certificate verification was found where failed
|
204
|
+
verification silently did nothing, making affected applications
|
205
|
+
vulnerable to attackers. Attackers could lead a client application
|
206
|
+
to believe that a secure connection to a rogue SSL server is
|
207
|
+
legitimate. Attackers could also penetrate client-validated SSL
|
208
|
+
server applications with a dummy certificate. Your application would
|
209
|
+
be vulnerable if you're using the 'net/https' library with
|
210
|
+
OpenSSL::SSL::VERIFY_PEER mode and any version of jruby-openssl
|
211
|
+
prior to 0.6. Thanks to NaHi (NAKAMURA Hiroshi) for finding the
|
212
|
+
problem and providing the fix. See
|
213
|
+
http://www.jruby.org/2009/12/07/vulnerability-in-jruby-openssl.html
|
214
|
+
for details.
|
215
|
+
* This release addresses CVE-2009-4123 which was reserved for the
|
216
|
+
above vulnerability.
|
217
|
+
* Many fixes from NaHi, including issues related to certificate
|
218
|
+
verification and certificate store purpose verification.
|
219
|
+
- implement OpenSSL::X509::Store#set_default_paths
|
220
|
+
- MRI compat. fix: OpenSSL::X509::Store#add_file
|
221
|
+
- Fix nsCertType handling.
|
222
|
+
- Fix Cipher#key_len for DES-EDE3: 16 should be 24.
|
223
|
+
- Modified test expectations around Cipher#final.
|
224
|
+
* Public keys are lazily instantiated when the
|
225
|
+
X509::Certificate#public_key method is called (Dave Garcia)
|
226
|
+
|
227
|
+
== 0.5.2
|
228
|
+
|
229
|
+
Multiple bugs fixed:
|
230
|
+
|
231
|
+
* JRUBY-3895 Could not verify server signature with net-ssh against Cygwin
|
232
|
+
* JRUBY-3864 jruby-openssl depends on Base64Coder from JvYAMLb
|
233
|
+
* JRUBY-3790 JRuby-OpenSSL test_post_connection_check is not passing
|
234
|
+
* JRUBY-3767 OpenSSL ssl implementation doesn't support client auth
|
235
|
+
* JRUBY-3673 jRuby-OpenSSL does not properly load certificate authority file
|
236
|
+
|
237
|
+
== 0.5.1
|
238
|
+
|
239
|
+
* Multiple fixes by Brice Figureau to get net/ssh working. Requires JRuby 1.3.1
|
240
|
+
to be 100%
|
241
|
+
* Fix by Frederic Jean for a character-decoding issue for some certificates
|
242
|
+
|
243
|
+
== 0.5
|
244
|
+
|
245
|
+
* Fixed JRUBY-3614: Unsupported HMAC algorithm (HMACSHA-256)
|
246
|
+
* Fixed JRUBY-3570: ActiveMerchant's AuthorizeNet Gateway throws OpenSSL Cert
|
247
|
+
Validation Error, when there should be no error
|
248
|
+
* Fixed JRUBY-3557 Class cast exception in PKeyRSA.java
|
249
|
+
* Fixed JRUBY-3468 X.509 certificates: subjectKeyIdentifier corrupted
|
250
|
+
* Fixed JRUBY-3285 Unsupported HMAC algorithm (HMACSHA1) error when generating
|
251
|
+
digest
|
252
|
+
* Misc code cleanup
|
253
|
+
|
254
|
+
== 0.2
|
255
|
+
|
256
|
+
* Enable remaining tests; fix a nil string issue in SSLSocket.sysread
|
257
|
+
(JRUBY-1888)
|
258
|
+
* Fix socket buffering issue by setting socket IO sync = true
|
259
|
+
* Fix bad file descriptor issue caused by unnecessary close (JRUBY-2152)
|
260
|
+
* Fix AES key length (JRUBY-2187)
|
261
|
+
* Fix cipher initialization (JRUBY-1100)
|
262
|
+
* Now, only compatible with JRuby 1.1
|
263
|
+
|
264
|
+
== 0.1.1
|
265
|
+
|
266
|
+
* Fixed blocker issue preventing HTTPS/SSL from working (JRUBY-1222)
|
267
|
+
|
268
|
+
== 0.1
|
269
|
+
|
270
|
+
* PLEASE NOTE: This release is not compatible with JRuby releases earlier than
|
271
|
+
1.0.3 or 1.1b2. If you must use JRuby 1.0.2 or earlier, please install the
|
272
|
+
0.6 release.
|
273
|
+
* Release coincides with JRuby 1.0.3 and JRuby 1.1b2 releases
|
274
|
+
* Simultaneous support for JRuby trunk and 1.0 branch
|
275
|
+
* Start of support for OpenSSL::BN
|
276
|
+
|
277
|
+
== 0.0.5 and prior
|
278
|
+
|
279
|
+
* Initial versions with maintenance updates
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
JRuby-OpenSSL is distributed under the same license as JRuby a tri EPL/GPL/LGPL
|
2
|
+
license. You can use it, redistribute it and/or modify it under the terms of the:
|
3
|
+
|
4
|
+
Eclipse Public License version 1.0
|
5
|
+
GNU General Public License version 2.0
|
6
|
+
GNU Lesser General Public License version 2.1
|
7
|
+
|
8
|
+
The contents of this file are subject to the Common Public License Version 1.0
|
9
|
+
(the "License"); you may not use this file except in compliance with the License.
|
10
|
+
You may obtain a copy of the License at http://www.eclipse.org/legal/cpl-v10.html
|
11
|
+
|
12
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
13
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
14
|
+
FOR APARTICULAR PURPOSE AND NONINFRINGEMENT.
|
15
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
16
|
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
17
|
+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
18
|
+
DEALINGS IN THE SOFTWARE.
|
19
|
+
|
20
|
+
Copyright (C) 2007-2009 Ola Bini <ola.bini@gmail.com>
|
21
|
+
Copyright (C) 2009-2014 The JRuby Team
|
22
|
+
|
23
|
+
Alternatively, the contents of this file may be used under the terms of
|
24
|
+
either of the GNU General Public License Version 2 or later (the "GPL"),
|
25
|
+
or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
26
|
+
in which case the provisions of the GPL or the LGPL are applicable instead
|
27
|
+
of those above. If you wish to allow use of your version of this file only
|
28
|
+
under the terms of either the GPL or the LGPL, and not to allow others to
|
29
|
+
use your version of this file under the terms of the EPL, indicate your
|
30
|
+
decision by deleting the provisions above and replace them with the notice
|
31
|
+
and other provisions required by the GPL or the LGPL. If you do not delete
|
32
|
+
the provisions above, a recipient may use your version of this file under
|
33
|
+
the terms of any one of the EPL, the GPL or the LGPL.
|
34
|
+
|
35
|
+
|
36
|
+
JRuby-OpenSSL includes software by The Legion of the Bouncy Castle Inc.
|
37
|
+
Please, visit (http://bouncycastle.org/license.html) for licensing details.
|
data/README.md
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
# JRuby-OpenSSL
|
2
|
+
|
3
|
+
[JRuby-OpenSSL](https://github.com/jruby/jruby-openssl) is an add-on gem for
|
4
|
+
[JRuby](http://jruby.org) that emulates the Ruby OpenSSL native library.
|
5
|
+
|
6
|
+
Under the hood uses the [Bouncy Castle Crypto APIs](http://www.bouncycastle.org/).
|
7
|
+
|
8
|
+
Please report bugs and incompatibilities (preferably with test-cases) to either
|
9
|
+
the JRuby [mailing list][1] or the [bug tracker][2].
|
10
|
+
|
11
|
+
## Compatibility
|
12
|
+
|
13
|
+
Since version **0.9.5** jruby-openssl aims to be compatible with all JRuby versions
|
14
|
+
**>= 1.6.8** (including 1.7 and 9k), if it's not we consider that a bug, report.
|
15
|
+
|
16
|
+
We currently (for 0.9.x) require the Bouncy Castle Java API to be **>= 1.47**,
|
17
|
+
for JRuby-OpenSSL gem <= 0.9.6 you also need to make sure BC jars **<= 1.50** !
|
18
|
+
|
19
|
+
## Testing
|
20
|
+
|
21
|
+
[![Build Status][0]](http://travis-ci.org/jruby/jruby-openssl)
|
22
|
+
|
23
|
+
rake jar:all # creates pom.xml and generates jopenssl.jar under lib
|
24
|
+
mvn test
|
25
|
+
|
26
|
+
will run (junit as well as ruby) tests and a some ruby tests against the default
|
27
|
+
jruby version. to pick a different version and/or modes (1.8, 1.9, 2.0, 2.1) run
|
28
|
+
|
29
|
+
mvn test -Djruby.versions=1.7.12 -Djruby.modes=1.8
|
30
|
+
|
31
|
+
for running integration-tests the gem will be first installed and then the same
|
32
|
+
tests run for each possible bouncy-castle version (see [listing][3]), run with
|
33
|
+
|
34
|
+
mvn verify -P test-1.6.8,test-1.7.13
|
35
|
+
|
36
|
+
or pick a bouncy-castle version
|
37
|
+
|
38
|
+
mvn verify -P test-1.6.8 -Dbc.versions=1.50
|
39
|
+
|
40
|
+
or simply be more picky
|
41
|
+
|
42
|
+
mvn verify -P test-1.7.4 -Dbc.versions=1.49 -Djruby.modes=1.9
|
43
|
+
|
44
|
+
NOTE: you can pick any jruby version which is on [central][4] or on [ci.jruby][5]
|
45
|
+
|
46
|
+
## License
|
47
|
+
|
48
|
+
(c) 2014 JRuby distributed under EPL 1.0/GPL 2.0/LGPL 2.1
|
49
|
+
|
50
|
+
[0]: https://secure.travis-ci.org/jruby/jruby-openssl.png
|
51
|
+
[1]: http://xircles.codehaus.org/projects/jruby/lists
|
52
|
+
[2]: https://github.com/jruby/jruby/issues
|
53
|
+
[3]: https://github.com/jruby/jruby-openssl/tree/master/integration
|
54
|
+
[4]: http://central.maven.org/maven2/org/jruby/
|
55
|
+
[5]: http://ci.jruby.org/snapshots/maven/org.jruby/
|
data/Rakefile
CHANGED
@@ -5,3 +5,16 @@ require 'maven/ruby/tasks'
|
|
5
5
|
# the actual build configuration is inside the Mavenfile
|
6
6
|
|
7
7
|
task :default => :build
|
8
|
+
|
9
|
+
Rake::Task[:jar].clear
|
10
|
+
desc "Package jopenssl.jar with the compiled classes"
|
11
|
+
task :jar => :maven do
|
12
|
+
maven.prepare_package '-Dmaven.test.skip'
|
13
|
+
end
|
14
|
+
|
15
|
+
namespace :jar do
|
16
|
+
desc "Package jopenssl.jar file (and dependendent jars)"
|
17
|
+
task :all => :maven do
|
18
|
+
maven.package '-Dmaven.test.skip'
|
19
|
+
end
|
20
|
+
end
|
data/lib/jopenssl.jar
CHANGED
Binary file
|
data/lib/jopenssl/load.rb
CHANGED
@@ -1,22 +1,25 @@
|
|
1
|
-
unless defined? JRUBY_VERSION
|
2
|
-
warn 'Loading jruby-openssl in a non-JRuby interpreter'
|
3
|
-
end
|
1
|
+
warn 'Loading jruby-openssl in a non-JRuby interpreter' unless defined? JRUBY_VERSION
|
4
2
|
|
3
|
+
require 'java'
|
5
4
|
require 'jopenssl/version'
|
5
|
+
|
6
|
+
version = Jopenssl::Version::BOUNCY_CASTLE_VERSION
|
7
|
+
bc_jars = nil
|
6
8
|
begin
|
7
9
|
# if we have jar-dependencies we let it track the jars
|
8
|
-
|
9
|
-
require_jar( 'org.bouncycastle', '
|
10
|
-
|
10
|
+
require_jar( 'org.bouncycastle', 'bcpkix-jdk15on', version )
|
11
|
+
require_jar( 'org.bouncycastle', 'bcprov-jdk15on', version )
|
12
|
+
bc_jars = true
|
11
13
|
rescue LoadError
|
12
|
-
|
13
|
-
|
14
|
+
end if defined?(Jars) && ( ! Jars.skip? ) rescue nil
|
15
|
+
unless bc_jars
|
16
|
+
load "org/bouncycastle/bcpkix-jdk15on/#{version}/bcpkix-jdk15on-#{version}.jar"
|
17
|
+
load "org/bouncycastle/bcprov-jdk15on/#{version}/bcprov-jdk15on-#{version}.jar"
|
14
18
|
end
|
15
19
|
|
16
|
-
# Load extension
|
17
20
|
require 'jruby'
|
18
21
|
require 'jopenssl.jar'
|
19
|
-
org.jruby.ext.openssl.
|
22
|
+
org.jruby.ext.openssl.OpenSSL.load(JRuby.runtime)
|
20
23
|
|
21
24
|
if RUBY_VERSION >= '2.1.0'
|
22
25
|
load('jopenssl21/openssl.rb')
|
data/lib/jopenssl/version.rb
CHANGED