1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
warn 'Loading jruby-openssl in a non-JRuby interpreter' unless defined? JRUBY_VERSION
require 'java'
require 'jopenssl/version'
# NOTE: assuming user does pull in BC .jars from somewhere else on the CP
unless ENV_JAVA['jruby.openssl.load.jars'].eql?('false')
version = Jopenssl::Version::BOUNCY_CASTLE_VERSION
bc_jars = nil
begin
require 'jar-dependencies'
# if we have jar-dependencies we let it track the jars
require_jar( 'org.bouncycastle', 'bcpkix', version )
require_jar( 'org.bouncycastle', 'bcprov', version )
bc_jars = true
rescue LoadError
end
unless bc_jars
load "org/bouncycastle/bcpkix/#{version}/bcpkix-#{version}.jar"
load "org/bouncycastle/bcprov/#{version}/bcprov-#{version}.jar"
end
end
require 'jruby'
require 'jopenssl.jar'
org.jruby.ext.openssl.OpenSSL.load(JRuby.runtime)
if RUBY_VERSION > '2.3'
load 'jopenssl23/openssl.rb'
load 'jopenssl24.rb' if RUBY_VERSION >= '2.4'
elsif RUBY_VERSION > '2.2'
load 'jopenssl22/openssl.rb'
elsif RUBY_VERSION > '2.1'
load 'jopenssl21/openssl.rb'
elsif RUBY_VERSION > '1.9'
load 'jopenssl19/openssl.rb'
else
load 'jopenssl18/openssl.rb'
end
require 'openssl/pkcs12'
|