jruby-openssl 0.9.5-java → 0.9.6-java
Sign up to get free protection for your applications and to get access to all the features.
- 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