jruby-openssl 0.11.0-java → 0.12.1-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 +20 -0
- data/Mavenfile +21 -26
- data/README.md +3 -0
- data/Rakefile +21 -35
- data/lib/jopenssl/load.rb +0 -14
- data/lib/jopenssl/version.rb +1 -1
- data/lib/jopenssl.jar +0 -0
- data/lib/openssl/bn.rb +40 -9
- data/lib/openssl/buffering.rb +478 -9
- data/lib/openssl/cipher.rb +67 -9
- data/lib/openssl/config.rb +496 -12
- data/lib/openssl/digest.rb +73 -9
- data/lib/openssl/hmac.rb +13 -0
- data/lib/openssl/marshal.rb +30 -0
- data/lib/openssl/pkcs5.rb +3 -3
- data/lib/openssl/pkey.rb +42 -5
- data/lib/openssl/ssl.rb +543 -9
- data/lib/openssl/x509.rb +369 -9
- data/lib/openssl.rb +43 -1
- data/pom.xml +35 -127
- metadata +8 -42
- data/lib/jopenssl19/openssl/bn.rb +0 -29
- data/lib/jopenssl19/openssl/buffering.rb +0 -449
- data/lib/jopenssl19/openssl/cipher.rb +0 -28
- data/lib/jopenssl19/openssl/config.rb +0 -472
- data/lib/jopenssl19/openssl/digest.rb +0 -32
- data/lib/jopenssl19/openssl/ssl-internal.rb +0 -223
- data/lib/jopenssl19/openssl/ssl.rb +0 -2
- data/lib/jopenssl19/openssl/x509-internal.rb +0 -115
- data/lib/jopenssl19/openssl/x509.rb +0 -2
- data/lib/jopenssl19/openssl.rb +0 -22
- data/lib/jopenssl21/openssl/bn.rb +0 -28
- data/lib/jopenssl21/openssl/buffering.rb +0 -1
- data/lib/jopenssl21/openssl/cipher.rb +0 -1
- data/lib/jopenssl21/openssl/config.rb +0 -1
- data/lib/jopenssl21/openssl/digest.rb +0 -1
- data/lib/jopenssl21/openssl/ssl.rb +0 -1
- data/lib/jopenssl21/openssl/x509.rb +0 -119
- data/lib/jopenssl21/openssl.rb +0 -22
- data/lib/jopenssl22/openssl/bn.rb +0 -39
- data/lib/jopenssl22/openssl/buffering.rb +0 -456
- data/lib/jopenssl22/openssl/cipher.rb +0 -28
- data/lib/jopenssl22/openssl/config.rb +0 -313
- data/lib/jopenssl22/openssl/digest.rb +0 -54
- data/lib/jopenssl22/openssl/ssl.rb +0 -330
- data/lib/jopenssl22/openssl/x509.rb +0 -139
- data/lib/jopenssl22/openssl.rb +0 -22
- data/lib/jopenssl23/openssl/bn.rb +0 -38
- data/lib/jopenssl23/openssl/buffering.rb +0 -455
- data/lib/jopenssl23/openssl/cipher.rb +0 -25
- data/lib/jopenssl23/openssl/config.rb +0 -474
- data/lib/jopenssl23/openssl/digest.rb +0 -43
- data/lib/jopenssl23/openssl/pkey.rb +0 -25
- data/lib/jopenssl23/openssl/ssl.rb +0 -508
- data/lib/jopenssl23/openssl/x509.rb +0 -208
- data/lib/jopenssl23/openssl.rb +0 -19
- data/lib/openssl/ssl-internal.rb +0 -5
- data/lib/openssl/x509-internal.rb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b73e2783a26e7aa5254c66e325fa6c824c78b8d
|
4
|
+
data.tar.gz: feb0ad37fca2ead87ed151f8c543214f7912508b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aba588920a82b3a568183ee03bcbee3175c033863654521bfc6a624be84072d510853ea2b457f8742d222e19a230c8ce67592a3df16e1ae625d1b644c7e858bf
|
7
|
+
data.tar.gz: ce31f7f99e2352871b2fdefc084eef1d8497a97baacf4a99a6459e39abf0cb35e66a1a4b422e454db6e9433cd6c698b22e07dc1e7688e7c580a397cc0a7ae37b
|
data/History.md
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
## 0.12.1
|
2
|
+
|
3
|
+
* improved compatibility with the openssl gem (version 2.2.1)
|
4
|
+
* JOSSL now ships with a single set of openssl .rb files
|
5
|
+
- providing compat with `required_ruby_version = '>= 2.3.0'`
|
6
|
+
- flat set of .rb files at *lib/openssl/* (based on openssl gem)
|
7
|
+
* revisited `OpenSSL::SSL::SSLContext::DEFAULT_PARAMS` defaults
|
8
|
+
- implicit `verify_hostname` default .rb callback still a noop
|
9
|
+
- TLS continues to rely on the Java SSL engine for hostname checks
|
10
|
+
* working TLS 1.3 support
|
11
|
+
* droped Java 1.7 support (at least Java 8 needed to use the gem)
|
12
|
+
* fixed `SSLContext#options` matches C OpenSSL (using `OP_ALL`)
|
13
|
+
* no longer filter out SSLv2 (for improved OpenSSL compatibility)
|
14
|
+
* implemented naive `SSLContext#ciphers` caching to speed-up TLS
|
15
|
+
* `StoreError` raised due a Java exception now retain native cause
|
16
|
+
|
17
|
+
## 0.12.0 (yanked)
|
18
|
+
|
19
|
+
There were Java 8 and JRuby 9.3 regressions in this release, use 0.12.1 instead.
|
20
|
+
|
1
21
|
## 0.11.0
|
2
22
|
|
3
23
|
NOTE: This release aims to adapt the certificate verification logic to be aligned
|
data/Mavenfile
CHANGED
@@ -7,7 +7,7 @@ distribution_management do
|
|
7
7
|
repository :id => :ossrh, :url => 'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
|
8
8
|
end
|
9
9
|
|
10
|
-
java_target = '1.
|
10
|
+
java_target = '1.8'
|
11
11
|
gen_sources = '${basedir}/target/generated-sources' # hard-coded in AnnotationBinder
|
12
12
|
|
13
13
|
plugin( 'org.codehaus.mojo:exec-maven-plugin', '1.3.2' ) do
|
@@ -45,15 +45,18 @@ plugin( 'org.codehaus.mojo:build-helper-maven-plugin', '1.9' ) do
|
|
45
45
|
execute_goal 'add-source', :phase => 'process-classes', :sources => [ gen_sources ]
|
46
46
|
end
|
47
47
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
48
|
+
compiler_configuration = {
|
49
|
+
:source => '1.8', :target => java_target, :release => '8',
|
50
|
+
:encoding => 'UTF-8', :debug => true,
|
51
|
+
:showWarnings => true, :showDeprecation => true,
|
52
|
+
:excludes => [ 'module-info.java' ],
|
53
|
+
#:jdkToolchain => { :version => '[1.7,11)' },
|
54
|
+
:generatedSourcesDirectory => gen_sources,
|
55
|
+
:annotationProcessors => [ 'org.jruby.anno.AnnotationBinder' ]
|
56
|
+
}
|
57
|
+
compiler_configuration.delete(:release) if ENV_JAVA['java.specification.version'] == '1.8'
|
54
58
|
|
55
|
-
|
56
|
-
:annotationProcessors => [ 'org.jruby.anno.AnnotationBinder' ]) do
|
59
|
+
plugin( :compiler, '3.9.0', compiler_configuration) do
|
57
60
|
|
58
61
|
#execute_goal :compile, :id => 'annotation-binder', :phase => 'compile',
|
59
62
|
# :generatedSourcesDirectory => gen_sources, #:outputDirectory => gen_sources,
|
@@ -69,14 +72,6 @@ plugin( :compiler, '3.1',
|
|
69
72
|
:compilerArgs => [ '', '-XDignore.symbol.file=true' ]
|
70
73
|
end
|
71
74
|
|
72
|
-
profile 'module-info' do
|
73
|
-
activation { jdk '[9,)' }
|
74
|
-
plugin :compiler, '3.8.1',
|
75
|
-
:source => '9', :target => java_target,
|
76
|
-
:release => '9',
|
77
|
-
:includes => [ 'module-info.java' ]
|
78
|
-
end
|
79
|
-
|
80
75
|
plugin :clean do
|
81
76
|
execute_goals( 'clean', :id => 'default-clean', :phase => 'clean',
|
82
77
|
'filesets' => [
|
@@ -87,18 +82,18 @@ plugin :clean do
|
|
87
82
|
'failOnError' => 'false' )
|
88
83
|
end
|
89
84
|
|
90
|
-
jar 'org.jruby:jruby-core', '1.
|
85
|
+
jar 'org.jruby:jruby-core', '9.1.11.0', :scope => :provided
|
86
|
+
# for invoker generated classes we need to add javax.annotation when on Java > 8
|
87
|
+
jar 'javax.annotation:javax.annotation-api', '1.3.1', :scope => :compile
|
91
88
|
jar 'junit:junit', '[4.13.1,)', :scope => :test
|
92
89
|
|
93
|
-
# 9.1.17.0 is Java 7 compatible (till supporting JRuby 1.7)
|
94
90
|
# NOTE: to build on Java 11 - installing gems fails (due old jossl) with:
|
95
91
|
# load error: jopenssl/load -- java.lang.StringIndexOutOfBoundsException
|
96
|
-
MVN_JRUBY_VERSION = ENV_JAVA['java.version'].to_i >= 9 ? '9.2.
|
92
|
+
MVN_JRUBY_VERSION = ENV_JAVA['java.version'].to_i >= 9 ? '9.2.19.0' : '9.1.17.0'
|
97
93
|
|
98
94
|
jruby_plugin! :gem do
|
99
95
|
# when installing dependent gems we want to use the built in openssl not the one from this lib directory
|
100
|
-
|
101
|
-
execute_goal :id => 'default-initialize', :addProjectClasspath => false, :libDirectory => 'something-which-does-not-exists'
|
96
|
+
execute_goal :id => 'default-package', :addProjectClasspath => false, :libDirectory => 'something-which-does-not-exists'
|
102
97
|
execute_goals :id => 'default-push', :skip => true
|
103
98
|
end
|
104
99
|
|
@@ -107,12 +102,12 @@ plugin :deploy, '2.8.1' do
|
|
107
102
|
execute_goals( :deploy, :skip => false )
|
108
103
|
end
|
109
104
|
|
110
|
-
supported_bc_versions = %w{ 1.
|
105
|
+
supported_bc_versions = %w{ 1.60 1.61 1.62 1.63 1.64 1.65 1.66 1.67 1.68 }
|
111
106
|
|
112
107
|
default_bc_version = File.read File.expand_path('lib/jopenssl/version.rb', File.dirname(__FILE__))
|
113
108
|
default_bc_version = default_bc_version[/BOUNCY_CASTLE_VERSION\s?=\s?'(.*?)'/, 1]
|
114
109
|
|
115
|
-
properties( 'jruby.plugins.version' => '
|
110
|
+
properties( 'jruby.plugins.version' => '2.0.1', # 2.0.1
|
116
111
|
'jruby.switches' => '-W0', # https://github.com/torquebox/jruby-maven-plugins/issues/94
|
117
112
|
'bc.versions' => default_bc_version,
|
118
113
|
'invoker.test' => '${bc.versions}',
|
@@ -151,8 +146,8 @@ invoker_run_options = {
|
|
151
146
|
'runit.dir' => '${runit.dir}' }
|
152
147
|
}
|
153
148
|
|
154
|
-
jruby_9_K_versions = %w{ 9.
|
155
|
-
jruby_9_K_versions += %w{ 9.2.0.0 9.2.5.0 9.2.
|
149
|
+
jruby_9_K_versions = %w{ 9.1.2.0 9.1.8.0 9.1.12.0 9.1.16.0 9.1.17.0 }
|
150
|
+
jruby_9_K_versions += %w{ 9.2.0.0 9.2.5.0 9.2.10.0 9.2.17.0 9.2.19.0 }
|
156
151
|
|
157
152
|
jruby_9_K_versions.each { |version|
|
158
153
|
profile :id => "test-#{version}" do
|
data/README.md
CHANGED
@@ -24,6 +24,9 @@ the JRuby [mailing list][1] or the [bug tracker][2].
|
|
24
24
|
| ~>0.9.18 | 1.6.8-9.1.x | Java 6-8 | 1.50-1.55 |
|
25
25
|
| 0.10.0 | 1.7.20-9.2.x | Java 7-10 | 1.55-1.59 |
|
26
26
|
| 0.10.3 | 1.7.20-9.2.x | Java 7-11 | 1.56-1.62 |
|
27
|
+
| ~>0.10.5 | 1.7.20-9.3.x | Java 7-11 | 1.60-1.68 |
|
28
|
+
| ~>0.11.x | 9.0.x-9.3.x | Java 7-11 | 1.62-1.68 |
|
29
|
+
| ~>0.12.x | 9.1.x-9.3.x | Java 8-15 | 1.65-1.68 |
|
27
30
|
|
28
31
|
NOTE: backwards JRuby compatibility was not handled for versions <= **0.9.6**
|
29
32
|
|
data/Rakefile
CHANGED
@@ -1,40 +1,27 @@
|
|
1
1
|
#-*- mode: ruby -*-
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
namespace :jar do
|
13
|
-
desc "Package jopenssl.jar file (and dependendent jars)"
|
14
|
-
task :all do
|
15
|
-
sh "mvn package -Dmaven.test.skip=true"
|
16
|
-
end
|
17
|
-
end
|
18
|
-
else
|
19
|
-
#Rake::Task[:jar].clear rescue nil
|
20
|
-
desc "Package jopenssl.jar with the compiled classes"
|
21
|
-
task :jar do
|
22
|
-
RubyMaven.exec( 'prepare-package -Dmaven.test.skip=true' )
|
23
|
-
end
|
24
|
-
namespace :jar do
|
25
|
-
desc "Package jopenssl.jar file (and dependendent jars)"
|
26
|
-
task :all do
|
27
|
-
RubyMaven.exec( 'package -Dmaven.test.skip=true' )
|
28
|
-
end
|
29
|
-
end
|
30
|
-
task :test_prepare do
|
31
|
-
RubyMaven.exec( 'prepare-package -Dmaven.test.skip=true' )
|
32
|
-
RubyMaven.exec( 'test-compile' ) # separate step due -Dmaven.test.skip=true
|
3
|
+
#Rake::Task[:jar].clear rescue nil
|
4
|
+
desc "Package jopenssl.jar with the compiled classes"
|
5
|
+
task :jar do
|
6
|
+
sh( './mvnw prepare-package -Dmaven.test.skip=true' )
|
7
|
+
end
|
8
|
+
namespace :jar do
|
9
|
+
desc "Package jopenssl.jar file (and dependendent jars)"
|
10
|
+
task :all do
|
11
|
+
sh( './mvnw package -Dmaven.test.skip=true' )
|
33
12
|
end
|
34
13
|
end
|
14
|
+
task :test_prepare do
|
15
|
+
sh( './mvnw prepare-package -Dmaven.test.skip=true' )
|
16
|
+
sh( './mvnw test-compile' ) # separate step due -Dmaven.test.skip=true
|
17
|
+
end
|
18
|
+
|
19
|
+
task :clean do
|
20
|
+
sh( './mvnw clean' )
|
21
|
+
end
|
35
22
|
|
36
23
|
task :build do
|
37
|
-
|
24
|
+
sh( './mvnw clean package -Dmaven.test.skip=true' )
|
38
25
|
end
|
39
26
|
|
40
27
|
task :default => :build
|
@@ -55,16 +42,15 @@ task :test => 'lib/jopenssl.jar'
|
|
55
42
|
namespace :integration do
|
56
43
|
it_path = File.expand_path('../src/test/integration', __FILE__)
|
57
44
|
task :install do
|
58
|
-
|
59
|
-
ruby "-S bundle install --gemfile '#{it_path}/Gemfile'"
|
60
|
-
end
|
45
|
+
ruby "-C #{it_path} -S bundle install"
|
61
46
|
end
|
62
47
|
# desc "Run IT tests"
|
63
48
|
task :test => 'lib/jopenssl.jar' do
|
64
49
|
unless File.exist?(File.join(it_path, 'Gemfile.lock'))
|
65
50
|
raise "bundle not installed, run `rake integration:install'"
|
66
51
|
end
|
67
|
-
loader = "ARGV.each { |f| require f }"
|
52
|
+
loader = "ARGV.each { |f| require f }"
|
53
|
+
lib = [ File.expand_path('../lib', __FILE__), it_path ]
|
68
54
|
test_files = FileList['src/test/integration/*_test.rb'].map { |path| path.sub('src/test/integration/', '') }
|
69
55
|
ruby "-I#{lib.join(':')} -C src/test/integration -e \"#{loader}\" #{test_files.map { |f| "\"#{f}\"" }.join(' ')}"
|
70
56
|
end
|
data/lib/jopenssl/load.rb
CHANGED
@@ -2,8 +2,6 @@ warn 'Loading jruby-openssl gem in a non-JRuby interpreter' unless defined? JRUB
|
|
2
2
|
|
3
3
|
require 'jopenssl/version'
|
4
4
|
|
5
|
-
warn "JRuby #{JRUBY_VERSION} is not supported by jruby-openssl #{JOpenSSL::VERSION}" if JRUBY_VERSION < '1.7.20'
|
6
|
-
|
7
5
|
# NOTE: assuming user does pull in BC .jars from somewhere else on the CP
|
8
6
|
unless ENV_JAVA['jruby.openssl.load.jars'].eql?('false')
|
9
7
|
version = JOpenSSL::BOUNCY_CASTLE_VERSION
|
@@ -34,17 +32,5 @@ else; require 'jruby'
|
|
34
32
|
end
|
35
33
|
|
36
34
|
if RUBY_VERSION > '2.3'
|
37
|
-
load 'jopenssl23/openssl.rb'
|
38
35
|
load 'jopenssl/_compat23.rb'
|
39
|
-
elsif RUBY_VERSION > '2.2'
|
40
|
-
load 'jopenssl22/openssl.rb'
|
41
|
-
elsif RUBY_VERSION > '2.1'
|
42
|
-
load 'jopenssl21/openssl.rb'
|
43
|
-
else
|
44
|
-
load 'jopenssl19/openssl.rb'
|
45
|
-
end
|
46
|
-
|
47
|
-
module OpenSSL
|
48
|
-
autoload :Config, 'openssl/config' unless const_defined?(:Config, false)
|
49
|
-
autoload :PKCS12, 'openssl/pkcs12'
|
50
36
|
end
|
data/lib/jopenssl/version.rb
CHANGED
data/lib/jopenssl.jar
CHANGED
Binary file
|
data/lib/openssl/bn.rb
CHANGED
@@ -1,9 +1,40 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
#--
|
3
|
+
#
|
4
|
+
# = Ruby-space definitions that completes C-space funcs for BN
|
5
|
+
#
|
6
|
+
# = Info
|
7
|
+
# 'OpenSSL for Ruby 2' project
|
8
|
+
# Copyright (C) 2002 Michal Rokos <m.rokos@sh.cvut.cz>
|
9
|
+
# All rights reserved.
|
10
|
+
#
|
11
|
+
# = Licence
|
12
|
+
# This program is licensed under the same licence as Ruby.
|
13
|
+
# (See the file 'LICENCE'.)
|
14
|
+
#++
|
15
|
+
|
16
|
+
module OpenSSL
|
17
|
+
class BN
|
18
|
+
include Comparable
|
19
|
+
|
20
|
+
def pretty_print(q)
|
21
|
+
q.object_group(self) {
|
22
|
+
q.text ' '
|
23
|
+
q.text to_i.to_s
|
24
|
+
}
|
25
|
+
end
|
26
|
+
end # BN
|
27
|
+
end # OpenSSL
|
28
|
+
|
29
|
+
##
|
30
|
+
#--
|
31
|
+
# Add double dispatch to Integer
|
32
|
+
#++
|
33
|
+
class Integer
|
34
|
+
# Casts an Integer as an OpenSSL::BN
|
35
|
+
#
|
36
|
+
# See `man bn` for more info.
|
37
|
+
def to_bn
|
38
|
+
OpenSSL::BN::new(self)
|
39
|
+
end
|
40
|
+
end # Integer
|