Java Ruby
Latest commit 279bd0a Feb 16, 2017 @lampad lampad committed with kares Add renegotiation cb (#121)
* Add support for renegotiation_cb on SSLContext

README.md

JRuby-OpenSSL

JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library.

Under the hood uses the Bouncy Castle Crypto APIs.

Each jruby-openssl gem release includes a certain version, usually the latest available, of the library (namely BC Provider and PKIX/CMS/EAC/PKCS/OCSP/TSP/OPENSSL jars).

Please report bugs and incompatibilities (preferably with test-cases) to either the JRuby mailing list or the bug tracker.

Compatibility

JRuby-OpenSSL JRuby compat JVM compat supported BC
0.9.6 1.6.8-9.0.2 Java 6-8 1.47-1.50
0.9.12 1.6.8-9.0.5 Java 6-8 1.47-1.52
0.9.13 1.6.8-9.1.2 Java 6-8 1.49-1.52
0.9.14 1.6.8-9.1.5 Java 6-8 1.49-1.54
0.9.17 1.6.8-9.1.5 Java 6-8 1.50-1.54
0.9.18 1.6.8-9.1.7 Java 6-8 1.50-1.55

NOTE: backwards JRuby compatibility was not handled for versions <= 0.9.6

Security

JRuby-OpenSSL is an essential part of JRuby, please report security vulnerabilities to security@jruby.org as detailed on JRuby's security page.

Please note that most OpenSSL vulnerabilities do not effect JRuby since its not using any of OpenSSL's C code, only Ruby parts (*.rb) are the same as in MRI's OpenSSL library.

Testing

Build Status

rake jar:all # creates pom.xml and generates jopenssl.jar under lib
mvn test

will run (junit as well as ruby) tests and a some ruby tests against the default jruby version. to pick a different version and/or modes (1.8, 1.9, 2.0, 2.1) run

mvn test -Djruby.versions=1.7.12 -Djruby.modes=1.8

for running integration-tests the gem will be first installed and then the same tests run for each possible bouncy-castle version (see listing), run with

mvn verify -P test-9.0.4.0,test-1.7.22

or pick a bouncy-castle version

mvn verify -P test-1.6.8 -Dbc.versions=1.50

or simply be more picky

mvn verify -P test-1.7.4 -Dbc.versions=1.49 -Djruby.modes=1.9

NOTE: you can pick any jruby version which is on central or on ci.jruby

License

(c) 2009-2016 JRuby distributed under EPL 1.0/GPL 2.0/LGPL 2.1