jruby-openssl 0.12.1-java → 0.12.2-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 +5 -5
- data/History.md +9 -0
- data/lib/jopenssl/load.rb +54 -5
- data/lib/jopenssl/version.rb +2 -1
- data/lib/jopenssl.jar +0 -0
- data/lib/openssl.rb +0 -40
- data/pom.xml +4 -3
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5e7e293b2549e684866105df2df1b7fdc93b930a9740bf6b5159149dfbc236e0
|
4
|
+
data.tar.gz: 771bace1ef936acd0ec9508f30f4636c3415a3785ebe29883490646b9221eae9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f746ec0e6551af8004714f6345154a0c52a429283828e8a41765617627d0498083283216b33dcca9fe1dd7206aeb1bc8d9bff0b2e6999395bfe8cdaa32dd295e
|
7
|
+
data.tar.gz: 9261e4930fd87105dfcf2ade1cba0cf8d241623394f83ecd0c86a476d151eb12de34fa480a0838347dcc4950acebae3306746b4e0c69ebeb2c109c38ce7a81ac
|
data/History.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
## 0.12.2
|
2
|
+
|
3
|
+
* [fix] work-around JRuby 9.2 autoload behavior (#248)
|
4
|
+
to be able to install jruby-openssl >= 0.12 on JRuby 9.2
|
5
|
+
while the default gem (shipped with JRuby) is < 0.12
|
6
|
+
* [feat] support alpn negotiation in ssl context (#247)
|
7
|
+
* [feat] support Java cipher names on `SSLContext#ciphers=`
|
8
|
+
* [fix] properly handle `require_jar` fallback
|
9
|
+
|
1
10
|
## 0.12.1
|
2
11
|
|
3
12
|
* improved compatibility with the openssl gem (version 2.2.1)
|
data/lib/jopenssl/load.rb
CHANGED
@@ -5,15 +5,19 @@ require 'jopenssl/version'
|
|
5
5
|
# NOTE: assuming user does pull in BC .jars from somewhere else on the CP
|
6
6
|
unless ENV_JAVA['jruby.openssl.load.jars'].eql?('false')
|
7
7
|
version = JOpenSSL::BOUNCY_CASTLE_VERSION
|
8
|
-
bc_jars = nil
|
9
8
|
begin
|
10
9
|
require 'jar-dependencies'
|
11
10
|
# if we have jar-dependencies we let it track the jars
|
12
|
-
require_jar
|
13
|
-
require_jar
|
14
|
-
require_jar
|
11
|
+
require_jar 'org.bouncycastle', 'bcprov-jdk15on', version
|
12
|
+
require_jar 'org.bouncycastle', 'bcpkix-jdk15on', version
|
13
|
+
require_jar 'org.bouncycastle', 'bctls-jdk15on', version
|
14
|
+
begin # bcutil got extracted from bcprov in BC 1.69
|
15
|
+
require_jar 'org.bouncycastle', 'bcutil-jdk15to18', version
|
16
|
+
rescue LoadError, RuntimeError
|
17
|
+
# continue without loading the jar - assume we got BC < 1.69
|
18
|
+
end
|
15
19
|
bc_jars = true
|
16
|
-
rescue LoadError
|
20
|
+
rescue LoadError, RuntimeError
|
17
21
|
bc_jars = false
|
18
22
|
end
|
19
23
|
unless bc_jars
|
@@ -34,3 +38,48 @@ end
|
|
34
38
|
if RUBY_VERSION > '2.3'
|
35
39
|
load 'jopenssl/_compat23.rb'
|
36
40
|
end
|
41
|
+
|
42
|
+
# NOTE: content bellow should live in *lib/openssl.rb* but due RubyGems/Bundler
|
43
|
+
# `autoload :OpenSSL` this will cause issues if an older version (0.11) is the
|
44
|
+
# default gem under JRuby 9.2 (which on auto-load does not trigger a dynamic
|
45
|
+
# require - this is only fixed in JRuby 9.3)
|
46
|
+
|
47
|
+
module OpenSSL
|
48
|
+
autoload :Config, 'openssl/config' unless const_defined?(:Config, false)
|
49
|
+
autoload :PKCS12, 'openssl/pkcs12'
|
50
|
+
end
|
51
|
+
|
52
|
+
=begin
|
53
|
+
= Info
|
54
|
+
'OpenSSL for Ruby 2' project
|
55
|
+
Copyright (C) 2002 Michal Rokos <m.rokos@sh.cvut.cz>
|
56
|
+
All rights reserved.
|
57
|
+
|
58
|
+
= Licence
|
59
|
+
This program is licensed under the same licence as Ruby.
|
60
|
+
(See the file 'LICENCE'.)
|
61
|
+
=end
|
62
|
+
|
63
|
+
require 'openssl/bn'
|
64
|
+
require 'openssl/pkey'
|
65
|
+
require 'openssl/cipher'
|
66
|
+
#require 'openssl/config' if OpenSSL.const_defined?(:Config, false)
|
67
|
+
require 'openssl/digest'
|
68
|
+
require 'openssl/hmac'
|
69
|
+
require 'openssl/x509'
|
70
|
+
require 'openssl/ssl'
|
71
|
+
require 'openssl/pkcs5'
|
72
|
+
|
73
|
+
module OpenSSL
|
74
|
+
# call-seq:
|
75
|
+
# OpenSSL.secure_compare(string, string) -> boolean
|
76
|
+
#
|
77
|
+
# Constant time memory comparison. Inputs are hashed using SHA-256 to mask
|
78
|
+
# the length of the secret. Returns +true+ if the strings are identical,
|
79
|
+
# +false+ otherwise.
|
80
|
+
def self.secure_compare(a, b)
|
81
|
+
hashed_a = OpenSSL::Digest.digest('SHA256', a)
|
82
|
+
hashed_b = OpenSSL::Digest.digest('SHA256', b)
|
83
|
+
OpenSSL.fixed_length_secure_compare(hashed_a, hashed_b) && a == b
|
84
|
+
end
|
85
|
+
end
|
data/lib/jopenssl/version.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
module JOpenSSL
|
2
|
-
VERSION = '0.12.
|
2
|
+
VERSION = '0.12.2'
|
3
3
|
BOUNCY_CASTLE_VERSION = '1.68'
|
4
4
|
end
|
5
5
|
|
6
6
|
Object.class_eval do
|
7
7
|
Jopenssl = JOpenSSL
|
8
8
|
private_constant :Jopenssl if respond_to?(:private_constant)
|
9
|
+
deprecate_constant :Jopenssl if respond_to?(:deprecate_constant)
|
9
10
|
end
|
data/lib/jopenssl.jar
CHANGED
Binary file
|
data/lib/openssl.rb
CHANGED
@@ -1,43 +1,3 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'jopenssl/load'
|
4
|
-
|
5
|
-
module OpenSSL
|
6
|
-
autoload :Config, 'openssl/config' unless const_defined?(:Config, false)
|
7
|
-
autoload :PKCS12, 'openssl/pkcs12'
|
8
|
-
end
|
9
|
-
|
10
|
-
=begin
|
11
|
-
= Info
|
12
|
-
'OpenSSL for Ruby 2' project
|
13
|
-
Copyright (C) 2002 Michal Rokos <m.rokos@sh.cvut.cz>
|
14
|
-
All rights reserved.
|
15
|
-
|
16
|
-
= Licence
|
17
|
-
This program is licensed under the same licence as Ruby.
|
18
|
-
(See the file 'LICENCE'.)
|
19
|
-
=end
|
20
|
-
|
21
|
-
require_relative 'openssl/bn'
|
22
|
-
require_relative 'openssl/pkey'
|
23
|
-
require_relative 'openssl/cipher'
|
24
|
-
#require_relative 'openssl/config' if OpenSSL.const_defined?(:Config, false)
|
25
|
-
require_relative 'openssl/digest'
|
26
|
-
require_relative 'openssl/hmac'
|
27
|
-
require_relative 'openssl/x509'
|
28
|
-
require_relative 'openssl/ssl'
|
29
|
-
require_relative 'openssl/pkcs5'
|
30
|
-
|
31
|
-
module OpenSSL
|
32
|
-
# call-seq:
|
33
|
-
# OpenSSL.secure_compare(string, string) -> boolean
|
34
|
-
#
|
35
|
-
# Constant time memory comparison. Inputs are hashed using SHA-256 to mask
|
36
|
-
# the length of the secret. Returns +true+ if the strings are identical,
|
37
|
-
# +false+ otherwise.
|
38
|
-
def self.secure_compare(a, b)
|
39
|
-
hashed_a = OpenSSL::Digest.digest('SHA256', a)
|
40
|
-
hashed_b = OpenSSL::Digest.digest('SHA256', b)
|
41
|
-
OpenSSL.fixed_length_secure_compare(hashed_a, hashed_b) && a == b
|
42
|
-
end
|
43
|
-
end
|
data/pom.xml
CHANGED
@@ -11,7 +11,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
11
11
|
<modelVersion>4.0.0</modelVersion>
|
12
12
|
<groupId>rubygems</groupId>
|
13
13
|
<artifactId>jruby-openssl</artifactId>
|
14
|
-
<version>0.12.
|
14
|
+
<version>0.12.2</version>
|
15
15
|
<packaging>gem</packaging>
|
16
16
|
<name>JRuby OpenSSL</name>
|
17
17
|
<description>JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library.</description>
|
@@ -65,8 +65,8 @@ DO NOT MODIFY - GENERATED CODE
|
|
65
65
|
<invoker.test>${bc.versions}</invoker.test>
|
66
66
|
<jruby.plugins.version>2.0.1</jruby.plugins.version>
|
67
67
|
<jruby.switches>-W0</jruby.switches>
|
68
|
-
<jruby.version>9.
|
69
|
-
<jruby.versions>9.
|
68
|
+
<jruby.version>9.2.19.0</jruby.version>
|
69
|
+
<jruby.versions>9.2.19.0</jruby.versions>
|
70
70
|
<mavengem-wagon.version>1.0.3</mavengem-wagon.version>
|
71
71
|
<mavengem.wagon.version>1.0.3</mavengem.wagon.version>
|
72
72
|
<polyglot.dump.pom>pom.xml</polyglot.dump.pom>
|
@@ -269,6 +269,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
269
269
|
<configuration>
|
270
270
|
<source>1.8</source>
|
271
271
|
<target>1.8</target>
|
272
|
+
<release>8</release>
|
272
273
|
<encoding>UTF-8</encoding>
|
273
274
|
<debug>true</debug>
|
274
275
|
<showWarnings>true</showWarnings>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jruby-openssl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.2
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Karol Bucek
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2022-
|
13
|
+
date: 2022-03-03 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL
|
16
16
|
native library.
|
@@ -70,8 +70,7 @@ requirements:
|
|
70
70
|
- jar org.bouncycastle:bcprov-jdk15on, 1.68
|
71
71
|
- jar org.bouncycastle:bcpkix-jdk15on, 1.68
|
72
72
|
- jar org.bouncycastle:bctls-jdk15on, 1.68
|
73
|
-
|
74
|
-
rubygems_version: 2.6.14.1
|
73
|
+
rubygems_version: 3.1.6
|
75
74
|
signing_key:
|
76
75
|
specification_version: 4
|
77
76
|
summary: JRuby OpenSSL
|