jruby-openssl 0.19.0-java → 0.19.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 +4 -4
- data/History.md +81 -0
- data/Mavenfile +2 -2
- data/README.md +10 -4
- data/Rakefile +43 -7
- data/lib/jopenssl/load.rb +10 -8
- data/lib/jopenssl/version.rb +13 -2
- data/lib/jopenssl.jar +0 -0
- data/lib/openssl/buffering.rb +10 -2
- data/pom.xml +133 -21
- data/vendor/org/bouncycastle/bcpkix-jdk18on/{1.85/bcpkix-jdk18on-1.85.jar → 1.86/bcpkix-jdk18on-1.86.jar} +0 -0
- data/vendor/org/bouncycastle/bcprov-jdk18on/{1.85/bcprov-jdk18on-1.85.jar → 1.86/bcprov-jdk18on-1.86.jar} +0 -0
- data/vendor/org/bouncycastle/bctls-jdk18on/1.86.1/bctls-jdk18on-1.86.1.jar +0 -0
- data/vendor/org/bouncycastle/bcutil-jdk18on/{1.85/bcutil-jdk18on-1.85.jar → 1.86/bcutil-jdk18on-1.86.jar} +0 -0
- metadata +10 -10
- data/vendor/org/bouncycastle/bctls-jdk18on/1.85/bctls-jdk18on-1.85.jar +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 333ea31e2b8e97fe3952c679a5c7e4518d5044bb4022015db9307481ee1a8bb8
|
|
4
|
+
data.tar.gz: 7439667603e352d2158e3778e9060664c94e529cb2c205578613169b7cea45e8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 636424c4fe4bd18e956cdb93e6c4cf9397531b5cc3d5c56d791a3759a036f2848ded320fee858a18516d3010f2d2cffab567fde6e7186ec3fa3a60def96f9451
|
|
7
|
+
data.tar.gz: d5520d35c471b83aaf32b64fa534f7268d2b6d0d6873289cf28286eb35bdf3c4f41546d4ee46674c449c8d92d238d5f5d490d70409bfb8b0db3615d495aae1c1
|
data/History.md
CHANGED
|
@@ -1,3 +1,84 @@
|
|
|
1
|
+
## 0.19.2
|
|
2
|
+
|
|
3
|
+
ASN.1 and X.509 compatibility improvements, new OpenSSL::Timestamp support &
|
|
4
|
+
upgrading Bouncy Castle to latest.
|
|
5
|
+
|
|
6
|
+
- [feat] implement `OpenSSL::Timestamp` support (#372)
|
|
7
|
+
- [feat] implement `SSLContext#add_certificate`
|
|
8
|
+
- [compat] improve ASN.1 BER parsing, including high tags, indefinite lengths,
|
|
9
|
+
nested constructed values, malformed input, EOC, SET ordering and tagging
|
|
10
|
+
- [compat] preserve X.509 RDN sets and CRL extension order
|
|
11
|
+
- [compat] implement `OCSP::Request#signed?` and `X509::Revoked#to_der`
|
|
12
|
+
- [compat] improve CRL and `Time` writer handling
|
|
13
|
+
- [compat] align `ASN1::ObjectId` handling with MRI
|
|
14
|
+
- [compat] improve extended key usage parsing
|
|
15
|
+
- [compat] reject invalid DH peer values
|
|
16
|
+
- [compat] add BN `mod_sqrt` and left/right shift support
|
|
17
|
+
- [compat] reject incomplete PKCS7 recipients and non-SET X.509 attribute values
|
|
18
|
+
- [compat] ignore `FAIL_IF_NO_PEER_CERT` without `VERIFY_PEER`
|
|
19
|
+
- [compat] reject unexpected TLS EOFs unless `OP_IGNORE_UNEXPECTED_EOF` is enabled
|
|
20
|
+
- [compat] align SSL `close_notify` handling with OpenSSL
|
|
21
|
+
- [compat] add `SSLSocket#readbyte`
|
|
22
|
+
- [compat] verify PKCS12 PBMAC1 across BC-FIPS versions
|
|
23
|
+
- [fix] harden OCSP response verification
|
|
24
|
+
- [fix] encode long-form ASN.1 lengths correctly
|
|
25
|
+
- [fix] preserve changes made to `X509::CRL`
|
|
26
|
+
- [fix] try all certificates with the issuer's subject name
|
|
27
|
+
- [fix] match CRLs from the same issuer
|
|
28
|
+
- [fix] encode empty PKCS7 signer signatures (#373)
|
|
29
|
+
- [fix] wait for partial TLS records before unwrapping
|
|
30
|
+
- [fix] interrupt blocking SSL reads when the socket is closed concurrently
|
|
31
|
+
- [fix] avoid shutdown spin on non-blocking SSL writes
|
|
32
|
+
- [fix] retry a full handshake when TLS session reuse fails (#369)
|
|
33
|
+
- [deps] upgrade BC to version 1.86
|
|
34
|
+
|
|
35
|
+
## 0.16.3
|
|
36
|
+
|
|
37
|
+
- [deps] upgrade BC to version 1.86
|
|
38
|
+
|
|
39
|
+
## 0.19.1
|
|
40
|
+
|
|
41
|
+
X25519/X448 key support and DH key reading, and a (final) round of provider
|
|
42
|
+
routing driven by the FIPS variant
|
|
43
|
+
|
|
44
|
+
- [feat] X25519/X448 type `PKey` support
|
|
45
|
+
`PKey.read`, `generate_key` and `new_raw_private/public_key` now handle XDH
|
|
46
|
+
- [feat] read DH keys (not just DH parameters)
|
|
47
|
+
PKCS#8 and SubjectPublicKeyInfo DH keys previously failed to parse
|
|
48
|
+
- [compat] read DH parameters via `OpenSSL::PKey.read`
|
|
49
|
+
- [compat] ASN.1 objects for the RFC 8410 curves
|
|
50
|
+
`ASN1::ObjectId` could not resolve X25519/X448/ED25519/ED448 by name or OID
|
|
51
|
+
- [compat] `PKey#inspect` reporting `oid` and `type_name`
|
|
52
|
+
- [compat] define `OP_NO_RENEGOTIATION` constant
|
|
53
|
+
- [fix] read back DER written by `PKey#to_der`
|
|
54
|
+
`PKey.read` only tried PKCS#8 on DER input
|
|
55
|
+
- [fix] raise `PKeyError` for unsupported public key algorithm
|
|
56
|
+
- [fix] raise `SSLError` on handshake failure in connect (#204)
|
|
57
|
+
JSSE may abort handshake with a plain exception when no protocol is enabled
|
|
58
|
+
- [compat] read and write PKCS12 through Bouncy Castle
|
|
59
|
+
supports OpenSSL 3 PBES2/PBKDF2 encryption and PBMAC1 MACs without JDK KeyStore
|
|
60
|
+
- [compat] honor `PKCS12.create` PBE and iteration arguments
|
|
61
|
+
regular mode writes requested legacy PBE algorithms (FIPS rejects unapproved)
|
|
62
|
+
- [feat] honor configured Java trust store properties
|
|
63
|
+
load explicit `javax.net.ssl.trustStore` using the configured `trustStoreType`,
|
|
64
|
+
`trustStoreProvider` and `trustStorePassword`
|
|
65
|
+
- [deps] bump bcprov artifact to latest patch (1.85.2)
|
|
66
|
+
|
|
67
|
+
### Provider Routing
|
|
68
|
+
|
|
69
|
+
Operations that resolved through JDK security now go to the configured provider.
|
|
70
|
+
|
|
71
|
+
- [fips] pin provider when signing certificates and CRLs
|
|
72
|
+
- [fips] use provider when verifying certificates
|
|
73
|
+
`X509Certificate#verify(PublicKey)` goes to the JDK default and a certificate
|
|
74
|
+
read from a JKS keystore stays a `sun.security.x509.X509CertImpl`
|
|
75
|
+
- [fips] generate DSA keys through provider
|
|
76
|
+
`generate_key!` derived private exponent by hand instead of asking for a key pair
|
|
77
|
+
- [fips] keep cipher policy + OCSP digests on provider
|
|
78
|
+
- [fips] report **fips_mode** based on approved-only
|
|
79
|
+
`OpenSSL.fips_mode` now reports whether FIPS is being *enforced*, as C does;
|
|
80
|
+
`OPENSSL_FIPS` reports whether the build is FIPS-*capable*
|
|
81
|
+
|
|
1
82
|
## 0.19.0
|
|
2
83
|
|
|
3
84
|
FIPS support, distributed as a **separate, dual GPL/commercial artifact**.
|
data/Mavenfile
CHANGED
|
@@ -101,7 +101,7 @@ plugin :deploy, '3.1.4' do
|
|
|
101
101
|
execute_goals( :deploy, skip: '${gem.deploy.skip}' )
|
|
102
102
|
end
|
|
103
103
|
|
|
104
|
-
supported_bc_versions = %w{ 1.80 1.81 1.82 1.83 1.84 1.85 }
|
|
104
|
+
supported_bc_versions = %w{ 1.80 1.81 1.82 1.83 1.84 1.85 1.86 }
|
|
105
105
|
|
|
106
106
|
default_bc_version = File.read File.expand_path('lib/jopenssl/version.rb', File.dirname(__FILE__))
|
|
107
107
|
default_bc_version = default_bc_version[/BOUNCY_CASTLE_VERSION\s?=\s?'(.*?)'/, 1]
|
|
@@ -149,7 +149,7 @@ jruby_versions = []
|
|
|
149
149
|
jruby_versions += %w{ 9.2.19.0 9.2.20.1 }
|
|
150
150
|
jruby_versions += %w{ 9.3.3.0 9.3.13.0 }
|
|
151
151
|
jruby_versions += %w{ 9.4.8.0 9.4.14.0 9.4.15.0 9.4.16.0 }
|
|
152
|
-
jruby_versions += %w{ 10.0.1.0 10.0.3.0 10.0.5.0 10.0.6.0 }
|
|
152
|
+
jruby_versions += %w{ 10.0.1.0 10.0.3.0 10.0.5.0 10.0.6.0 10.0.7.0 10.1.1.0 10.1.2.0 }
|
|
153
153
|
|
|
154
154
|
jruby_versions.each do |version|
|
|
155
155
|
profile id: "test-#{version}" do
|
data/README.md
CHANGED
|
@@ -13,7 +13,9 @@ the JRuby [mailing list][1] or the [bug tracker][2].
|
|
|
13
13
|
|
|
14
14
|
## Compatibility
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Java compatibility is expected to be the same as with supported JRuby versions.
|
|
17
|
+
|
|
18
|
+
Check latest jruby-openssl gem spec's `jar` *requirements* for (BC) compatibility.
|
|
17
19
|
|
|
18
20
|
```ruby
|
|
19
21
|
require 'openssl'
|
|
@@ -28,7 +30,7 @@ For older versions of the gem compatibility wasn't reported:
|
|
|
28
30
|
| ~>0.13.x | 9.1.x-9.4.x | Java 8-17 | 1.68-1.69 |
|
|
29
31
|
| ~>0.14.x | 9.1.x-9.4.x | Java 8-21 | 1.71-1.74 |
|
|
30
32
|
| ~>0.15.x | 9.2.x-10.0.x | Java 8-25 | 1.78-1.83 |
|
|
31
|
-
| ~>0.16.x | 9.3.x-10.
|
|
33
|
+
| ~>0.16.x | 9.3.x-10.1.x | Java 8-25 | 1.83-1.86 |
|
|
32
34
|
|
|
33
35
|
## Security
|
|
34
36
|
|
|
@@ -78,7 +80,7 @@ same `require 'openssl'`. But there are limitations on the JVM (with JCE and JSS
|
|
|
78
80
|
Bouncy Castle libraries, so some entry points are unavailable, behave differently, or are no-ops.
|
|
79
81
|
|
|
80
82
|
**Engine**
|
|
81
|
-
- `OpenSSL::Engine` is not implemented - there is no hardware/engine layer, `OpenSSL::Engine
|
|
83
|
+
- `OpenSSL::Engine` is not implemented - there is no hardware/engine layer, `OpenSSL::Engine`
|
|
82
84
|
raises `NameError` (uninitialized constant)
|
|
83
85
|
|
|
84
86
|
**SSL / TLS** (backed by JSSE)
|
|
@@ -103,13 +105,17 @@ Bouncy Castle libraries, so some entry points are unavailable, behave differentl
|
|
|
103
105
|
- EdDSA (`Ed25519` / `Ed448`) rejects digest arguments
|
|
104
106
|
|
|
105
107
|
**X509**
|
|
106
|
-
- multi-valued RDNs (the `+` separator in a DN string) are not supported and raise `X509::NameError
|
|
108
|
+
- multi-valued RDNs (the `+` separator in a DN string) are not supported and raise `X509::NameError`
|
|
107
109
|
- few `authorityKeyIdentifier` extension configurations are unsupported
|
|
108
110
|
|
|
109
111
|
**Random**
|
|
110
112
|
- randomness comes from the JVM's `SecureRandom`; the EGD and seed-file APIs (`Random.egd`,
|
|
111
113
|
`egd_bytes`, `load_random_file`, `write_random_file`) are no-ops
|
|
112
114
|
|
|
115
|
+
**BN**
|
|
116
|
+
- `BN#get_flags` always returns zero; `BN#set_flags(0)` is a no-op; the OpenSSL constant-time mode
|
|
117
|
+
(`BN::CONSTTIME`) is not supported
|
|
118
|
+
|
|
113
119
|
**Other**
|
|
114
120
|
- `OpenSSL.fips_mode = true` raises `NotImplementedError` unless the separate [FIPS variant](#fips)
|
|
115
121
|
gem is installed
|
data/Rakefile
CHANGED
|
@@ -25,16 +25,17 @@ task :clean do
|
|
|
25
25
|
sh("#{mvnw} clean")
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
task :
|
|
28
|
+
task :build_release do
|
|
29
29
|
source_date_epoch!
|
|
30
|
-
sh("#{mvnw} -Prelease -DupdateReleaseInfo=true #{_build_output_timestamp}
|
|
30
|
+
sh("#{mvnw} -Prelease -DupdateReleaseInfo=true #{_build_output_timestamp} package")
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
desc "Sanity-check
|
|
33
|
+
desc "Sanity-check tree/version, then build a reproducible release gem"
|
|
34
34
|
task :release => :release_check do
|
|
35
35
|
source_date_epoch! # pin to the release commit so the gem + jar use the same
|
|
36
36
|
puts "SOURCE_DATE_EPOCH=#{ENV['SOURCE_DATE_EPOCH']} (#{Time.at(ENV['SOURCE_DATE_EPOCH'].to_i).utc})"
|
|
37
|
-
Rake::Task[:
|
|
37
|
+
Rake::Task[:clean].invoke
|
|
38
|
+
Rake::Task[:build_release].invoke
|
|
38
39
|
gem = Dir['target/*.gem', 'pkg/*.gem'].max_by { |f| File.mtime(f) }
|
|
39
40
|
abort "release aborted - no .gem produced" unless gem
|
|
40
41
|
puts "built #{gem}"
|
|
@@ -55,8 +56,12 @@ task :release_check do
|
|
|
55
56
|
branch = `git rev-parse --abbrev-ref HEAD`.strip
|
|
56
57
|
warn "WARNING: releasing from '#{branch}' (not 'master')" unless branch == 'master'
|
|
57
58
|
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
expected_tag = "v#{version}" # release tags are vX.Y.Z
|
|
60
|
+
tags = `git tag --points-at HEAD`.split("\n")
|
|
61
|
+
unless tags.include?(expected_tag)
|
|
62
|
+
found = tags.empty? ? 'none' : tags.join(', ')
|
|
63
|
+
warn "WARNING: no #{expected_tag} tag points at HEAD (tags at HEAD: #{found})"
|
|
64
|
+
end
|
|
60
65
|
|
|
61
66
|
puts "release checks passed for #{version}"
|
|
62
67
|
end
|
|
@@ -69,7 +74,7 @@ task :jar_release => :release_check do
|
|
|
69
74
|
# deploy (gpg-sign + push): #{File.basename(mvnw)} deploy -Prelease,jar-release -D...
|
|
70
75
|
end
|
|
71
76
|
|
|
72
|
-
task :default => :
|
|
77
|
+
task :default => :jar
|
|
73
78
|
|
|
74
79
|
file('lib/jopenssl.jar') { Rake::Task[:jar].invoke }
|
|
75
80
|
|
|
@@ -90,6 +95,37 @@ task :test => ['lib/jopenssl.jar', 'pkg/test-classes/org/jruby/ext/openssl/Secur
|
|
|
90
95
|
require_relative 'tasks/vendor_tests'
|
|
91
96
|
define_vendor_test_tasks # root + jopenssl_lib default to this tree
|
|
92
97
|
|
|
98
|
+
require_relative 'tasks/provider_tests'
|
|
99
|
+
namespace :test do
|
|
100
|
+
namespace :provider do
|
|
101
|
+
define_provider_test_task :bc_all,
|
|
102
|
+
description: 'Run tests with BC providers registered through java.security',
|
|
103
|
+
providers: [
|
|
104
|
+
{ name: 'BC', class: 'org.bouncycastle.jce.provider.BouncyCastleProvider' },
|
|
105
|
+
{ name: 'BCJSSE', class: 'org.bouncycastle.jsse.provider.BouncyCastleJsseProvider' }
|
|
106
|
+
],
|
|
107
|
+
jars: -> { FileList['vendor/**/*.jar'].map { |path| File.expand_path(path) } }
|
|
108
|
+
define_provider_test_task :bc_wout_jsse,
|
|
109
|
+
description: 'Run tests with only BC provider registered (without BC-JSSE)',
|
|
110
|
+
providers: [
|
|
111
|
+
{ name: 'BC', class: 'org.bouncycastle.jce.provider.BouncyCastleProvider' },
|
|
112
|
+
],
|
|
113
|
+
jdk_providers: ['SUN', 'SunJSSE', 'SunJCE', 'SunEC'],
|
|
114
|
+
jars: -> { FileList['vendor/**/*.jar'].map { |path| File.expand_path(path) } }
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
desc 'Run regular and provider test suites'
|
|
118
|
+
task :all do
|
|
119
|
+
%w[
|
|
120
|
+
test
|
|
121
|
+
test:provider:bc_all
|
|
122
|
+
test:provider:bc_wout_jsse
|
|
123
|
+
].each do |name|
|
|
124
|
+
Rake::Task[name].invoke
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
93
129
|
namespace :integration do
|
|
94
130
|
it_path = File.expand_path('integration', File.dirname(__FILE__))
|
|
95
131
|
task :install do
|
data/lib/jopenssl/load.rb
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
require_relative 'version'
|
|
2
2
|
|
|
3
3
|
# NOTE: assuming user does pull in BC .jars from somewhere else on the class-path
|
|
4
|
-
if ENV_JAVA['jruby.openssl.load.jars'] != 'false' &&
|
|
5
|
-
java.security.Security.getProvider('BC').nil?
|
|
6
|
-
version = JOpenSSL::BOUNCY_CASTLE_VERSION
|
|
4
|
+
if ENV_JAVA['jruby.openssl.load.jars'] != 'false' && java.security.Security.getProvider('BC').nil?
|
|
7
5
|
bc_jars = begin
|
|
8
6
|
require 'jar_dependencies' unless respond_to?(:require_jar, true)
|
|
9
|
-
require_jar 'org.bouncycastle', 'bcprov-jdk18on', version
|
|
10
|
-
require_jar 'org.bouncycastle', 'bcpkix-jdk18on', version
|
|
11
|
-
require_jar 'org.bouncycastle', 'bcutil-jdk18on', version
|
|
12
|
-
require_jar 'org.bouncycastle', 'bctls-jdk18on', version
|
|
7
|
+
require_jar 'org.bouncycastle', 'bcprov-jdk18on', JOpenSSL.version('bcprov-jdk18on')
|
|
8
|
+
require_jar 'org.bouncycastle', 'bcpkix-jdk18on', JOpenSSL.version('bcpkix-jdk18on')
|
|
9
|
+
require_jar 'org.bouncycastle', 'bcutil-jdk18on', JOpenSSL.version('bcutil-jdk18on')
|
|
10
|
+
require_jar 'org.bouncycastle', 'bctls-jdk18on', JOpenSSL.version('bctls-jdk18on')
|
|
13
11
|
true
|
|
14
12
|
rescue LoadError, RuntimeError
|
|
15
13
|
false
|
|
16
14
|
end
|
|
17
15
|
unless bc_jars
|
|
18
|
-
vendor = File.expand_path('../../vendor',
|
|
16
|
+
vendor = File.expand_path('../../vendor', File.dirname(__FILE__))
|
|
17
|
+
version = JOpenSSL.version('bcprov-jdk18on')
|
|
19
18
|
load "#{vendor}/org/bouncycastle/bcprov-jdk18on/#{version}/bcprov-jdk18on-#{version}.jar"
|
|
19
|
+
version = JOpenSSL.version('bcpkix-jdk18on')
|
|
20
20
|
load "#{vendor}/org/bouncycastle/bcpkix-jdk18on/#{version}/bcpkix-jdk18on-#{version}.jar"
|
|
21
|
+
version = JOpenSSL.version('bcutil-jdk18on')
|
|
21
22
|
load "#{vendor}/org/bouncycastle/bcutil-jdk18on/#{version}/bcutil-jdk18on-#{version}.jar"
|
|
23
|
+
version = JOpenSSL.version('bctls-jdk18on')
|
|
22
24
|
load "#{vendor}/org/bouncycastle/bctls-jdk18on/#{version}/bctls-jdk18on-#{version}.jar"
|
|
23
25
|
end
|
|
24
26
|
end
|
data/lib/jopenssl/version.rb
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
module JOpenSSL
|
|
3
|
-
VERSION = '0.19.
|
|
4
|
-
BOUNCY_CASTLE_VERSION = '1.
|
|
3
|
+
VERSION = '0.19.2'
|
|
4
|
+
BOUNCY_CASTLE_VERSION = '1.86'
|
|
5
|
+
|
|
6
|
+
# @private
|
|
7
|
+
BOUNCY_CASTLE_PATCH_VERSIONS = {
|
|
8
|
+
'bctls-jdk18on' => "#{BOUNCY_CASTLE_VERSION}.1"
|
|
9
|
+
}.freeze
|
|
10
|
+
private_constant :BOUNCY_CASTLE_PATCH_VERSIONS
|
|
11
|
+
|
|
12
|
+
# @private
|
|
13
|
+
def self.version(artifact_id)
|
|
14
|
+
BOUNCY_CASTLE_PATCH_VERSIONS.fetch(artifact_id, BOUNCY_CASTLE_VERSION)
|
|
15
|
+
end
|
|
5
16
|
end
|
data/lib/jopenssl.jar
CHANGED
|
Binary file
|
data/lib/openssl/buffering.rb
CHANGED
|
@@ -107,6 +107,12 @@ module OpenSSL::Buffering
|
|
|
107
107
|
read(1)&.ord
|
|
108
108
|
end
|
|
109
109
|
|
|
110
|
+
# Get the next 8bit byte. Raises EOFError on EOF
|
|
111
|
+
def readbyte
|
|
112
|
+
raise EOFError if eof?
|
|
113
|
+
getbyte
|
|
114
|
+
end
|
|
115
|
+
|
|
110
116
|
##
|
|
111
117
|
# Reads _size_ bytes from the stream. If _buf_ is provided it must
|
|
112
118
|
# reference a string which will receive the data.
|
|
@@ -225,7 +231,7 @@ module OpenSSL::Buffering
|
|
|
225
231
|
#
|
|
226
232
|
# Unlike IO#gets the separator must be provided if a limit is provided.
|
|
227
233
|
|
|
228
|
-
def gets(eol=$/, limit=nil)
|
|
234
|
+
def gets(eol=$/, limit=nil, chomp: false)
|
|
229
235
|
idx = @rbuffer.index(eol)
|
|
230
236
|
until @eof
|
|
231
237
|
break if idx
|
|
@@ -240,7 +246,9 @@ module OpenSSL::Buffering
|
|
|
240
246
|
if size && limit && limit >= 0
|
|
241
247
|
size = [size, limit].min
|
|
242
248
|
end
|
|
243
|
-
consume_rbuff(size)
|
|
249
|
+
line = consume_rbuff(size)
|
|
250
|
+
line.chomp!(eol) if chomp && line
|
|
251
|
+
line
|
|
244
252
|
end
|
|
245
253
|
|
|
246
254
|
##
|
data/pom.xml
CHANGED
|
@@ -11,7 +11,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
11
11
|
<modelVersion>4.0.0</modelVersion>
|
|
12
12
|
<groupId>org.jruby.openssl</groupId>
|
|
13
13
|
<artifactId>jruby-openssl</artifactId>
|
|
14
|
-
<version>0.19.
|
|
14
|
+
<version>0.19.2</version>
|
|
15
15
|
<packaging>gem</packaging>
|
|
16
16
|
<name>SSL/TLS and general-purpose cryptography for JRuby</name>
|
|
17
17
|
<description>Ruby OpenSSL compatibility for JRuby, based on Java JCA/JCE and Bouncy Castle libraries (does not depend on native OpenSSL).</description>
|
|
@@ -55,7 +55,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
55
55
|
</snapshotRepository>
|
|
56
56
|
</distributionManagement>
|
|
57
57
|
<properties>
|
|
58
|
-
<bc.versions>1.
|
|
58
|
+
<bc.versions>1.86</bc.versions>
|
|
59
59
|
<gem.deploy.skip>false</gem.deploy.skip>
|
|
60
60
|
<invoker.skip>${maven.test.skip}</invoker.skip>
|
|
61
61
|
<invoker.test>${bc.versions}</invoker.test>
|
|
@@ -75,22 +75,22 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
75
75
|
<dependency>
|
|
76
76
|
<groupId>org.bouncycastle</groupId>
|
|
77
77
|
<artifactId>bcprov-jdk18on</artifactId>
|
|
78
|
-
<version>[1.80,1.
|
|
78
|
+
<version>[1.80,1.86]</version>
|
|
79
79
|
</dependency>
|
|
80
80
|
<dependency>
|
|
81
81
|
<groupId>org.bouncycastle</groupId>
|
|
82
82
|
<artifactId>bcpkix-jdk18on</artifactId>
|
|
83
|
-
<version>[1.80,1.
|
|
83
|
+
<version>[1.80,1.86]</version>
|
|
84
84
|
</dependency>
|
|
85
85
|
<dependency>
|
|
86
86
|
<groupId>org.bouncycastle</groupId>
|
|
87
87
|
<artifactId>bctls-jdk18on</artifactId>
|
|
88
|
-
<version>[1.80,1.
|
|
88
|
+
<version>[1.80,1.86.1]</version>
|
|
89
89
|
</dependency>
|
|
90
90
|
<dependency>
|
|
91
91
|
<groupId>org.bouncycastle</groupId>
|
|
92
92
|
<artifactId>bcutil-jdk18on</artifactId>
|
|
93
|
-
<version>[1.80,1.
|
|
93
|
+
<version>[1.80,1.86]</version>
|
|
94
94
|
</dependency>
|
|
95
95
|
<dependency>
|
|
96
96
|
<groupId>org.jruby</groupId>
|
|
@@ -405,7 +405,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
405
405
|
</plugins>
|
|
406
406
|
</build>
|
|
407
407
|
<properties>
|
|
408
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
408
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
409
409
|
<jruby.version>9.2.19.0</jruby.version>
|
|
410
410
|
<jruby.versions>9.2.19.0</jruby.versions>
|
|
411
411
|
</properties>
|
|
@@ -442,7 +442,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
442
442
|
</plugins>
|
|
443
443
|
</build>
|
|
444
444
|
<properties>
|
|
445
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
445
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
446
446
|
<jruby.version>9.2.20.1</jruby.version>
|
|
447
447
|
<jruby.versions>9.2.20.1</jruby.versions>
|
|
448
448
|
</properties>
|
|
@@ -479,7 +479,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
479
479
|
</plugins>
|
|
480
480
|
</build>
|
|
481
481
|
<properties>
|
|
482
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
482
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
483
483
|
<jruby.version>9.3.3.0</jruby.version>
|
|
484
484
|
<jruby.versions>9.3.3.0</jruby.versions>
|
|
485
485
|
</properties>
|
|
@@ -516,7 +516,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
516
516
|
</plugins>
|
|
517
517
|
</build>
|
|
518
518
|
<properties>
|
|
519
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
519
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
520
520
|
<jruby.version>9.3.13.0</jruby.version>
|
|
521
521
|
<jruby.versions>9.3.13.0</jruby.versions>
|
|
522
522
|
</properties>
|
|
@@ -553,7 +553,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
553
553
|
</plugins>
|
|
554
554
|
</build>
|
|
555
555
|
<properties>
|
|
556
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
556
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
557
557
|
<jruby.version>9.4.8.0</jruby.version>
|
|
558
558
|
<jruby.versions>9.4.8.0</jruby.versions>
|
|
559
559
|
</properties>
|
|
@@ -590,7 +590,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
590
590
|
</plugins>
|
|
591
591
|
</build>
|
|
592
592
|
<properties>
|
|
593
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
593
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
594
594
|
<jruby.version>9.4.14.0</jruby.version>
|
|
595
595
|
<jruby.versions>9.4.14.0</jruby.versions>
|
|
596
596
|
</properties>
|
|
@@ -627,7 +627,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
627
627
|
</plugins>
|
|
628
628
|
</build>
|
|
629
629
|
<properties>
|
|
630
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
630
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
631
631
|
<jruby.version>9.4.15.0</jruby.version>
|
|
632
632
|
<jruby.versions>9.4.15.0</jruby.versions>
|
|
633
633
|
</properties>
|
|
@@ -664,7 +664,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
664
664
|
</plugins>
|
|
665
665
|
</build>
|
|
666
666
|
<properties>
|
|
667
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
667
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
668
668
|
<jruby.version>9.4.16.0</jruby.version>
|
|
669
669
|
<jruby.versions>9.4.16.0</jruby.versions>
|
|
670
670
|
</properties>
|
|
@@ -701,7 +701,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
701
701
|
</plugins>
|
|
702
702
|
</build>
|
|
703
703
|
<properties>
|
|
704
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
704
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
705
705
|
<jruby.version>10.0.1.0</jruby.version>
|
|
706
706
|
<jruby.versions>10.0.1.0</jruby.versions>
|
|
707
707
|
</properties>
|
|
@@ -738,7 +738,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
738
738
|
</plugins>
|
|
739
739
|
</build>
|
|
740
740
|
<properties>
|
|
741
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
741
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
742
742
|
<jruby.version>10.0.3.0</jruby.version>
|
|
743
743
|
<jruby.versions>10.0.3.0</jruby.versions>
|
|
744
744
|
</properties>
|
|
@@ -775,7 +775,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
775
775
|
</plugins>
|
|
776
776
|
</build>
|
|
777
777
|
<properties>
|
|
778
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
778
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
779
779
|
<jruby.version>10.0.5.0</jruby.version>
|
|
780
780
|
<jruby.versions>10.0.5.0</jruby.versions>
|
|
781
781
|
</properties>
|
|
@@ -812,11 +812,122 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
812
812
|
</plugins>
|
|
813
813
|
</build>
|
|
814
814
|
<properties>
|
|
815
|
-
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85</bc.versions>
|
|
815
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
816
816
|
<jruby.version>10.0.6.0</jruby.version>
|
|
817
817
|
<jruby.versions>10.0.6.0</jruby.versions>
|
|
818
818
|
</properties>
|
|
819
819
|
</profile>
|
|
820
|
+
<profile>
|
|
821
|
+
<id>test-10.0.7.0</id>
|
|
822
|
+
<build>
|
|
823
|
+
<plugins>
|
|
824
|
+
<plugin>
|
|
825
|
+
<artifactId>maven-invoker-plugin</artifactId>
|
|
826
|
+
<version>3.8.1</version>
|
|
827
|
+
<executions>
|
|
828
|
+
<execution>
|
|
829
|
+
<goals>
|
|
830
|
+
<goal>install</goal>
|
|
831
|
+
<goal>run</goal>
|
|
832
|
+
</goals>
|
|
833
|
+
<configuration>
|
|
834
|
+
<projectsDirectory>src/it</projectsDirectory>
|
|
835
|
+
<pomIncludes>
|
|
836
|
+
<pomInclude>*/pom.xml</pomInclude>
|
|
837
|
+
</pomIncludes>
|
|
838
|
+
<streamLogs>true</streamLogs>
|
|
839
|
+
<properties>
|
|
840
|
+
<jruby.versions>${jruby.versions}</jruby.versions>
|
|
841
|
+
<jruby.openssl.version>${project.version}</jruby.openssl.version>
|
|
842
|
+
<bc.versions>${bc.versions}</bc.versions>
|
|
843
|
+
<runit.dir>${runit.dir}</runit.dir>
|
|
844
|
+
</properties>
|
|
845
|
+
</configuration>
|
|
846
|
+
</execution>
|
|
847
|
+
</executions>
|
|
848
|
+
</plugin>
|
|
849
|
+
</plugins>
|
|
850
|
+
</build>
|
|
851
|
+
<properties>
|
|
852
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
853
|
+
<jruby.version>10.0.7.0</jruby.version>
|
|
854
|
+
<jruby.versions>10.0.7.0</jruby.versions>
|
|
855
|
+
</properties>
|
|
856
|
+
</profile>
|
|
857
|
+
<profile>
|
|
858
|
+
<id>test-10.1.1.0</id>
|
|
859
|
+
<build>
|
|
860
|
+
<plugins>
|
|
861
|
+
<plugin>
|
|
862
|
+
<artifactId>maven-invoker-plugin</artifactId>
|
|
863
|
+
<version>3.8.1</version>
|
|
864
|
+
<executions>
|
|
865
|
+
<execution>
|
|
866
|
+
<goals>
|
|
867
|
+
<goal>install</goal>
|
|
868
|
+
<goal>run</goal>
|
|
869
|
+
</goals>
|
|
870
|
+
<configuration>
|
|
871
|
+
<projectsDirectory>src/it</projectsDirectory>
|
|
872
|
+
<pomIncludes>
|
|
873
|
+
<pomInclude>*/pom.xml</pomInclude>
|
|
874
|
+
</pomIncludes>
|
|
875
|
+
<streamLogs>true</streamLogs>
|
|
876
|
+
<properties>
|
|
877
|
+
<jruby.versions>${jruby.versions}</jruby.versions>
|
|
878
|
+
<jruby.openssl.version>${project.version}</jruby.openssl.version>
|
|
879
|
+
<bc.versions>${bc.versions}</bc.versions>
|
|
880
|
+
<runit.dir>${runit.dir}</runit.dir>
|
|
881
|
+
</properties>
|
|
882
|
+
</configuration>
|
|
883
|
+
</execution>
|
|
884
|
+
</executions>
|
|
885
|
+
</plugin>
|
|
886
|
+
</plugins>
|
|
887
|
+
</build>
|
|
888
|
+
<properties>
|
|
889
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
890
|
+
<jruby.version>10.1.1.0</jruby.version>
|
|
891
|
+
<jruby.versions>10.1.1.0</jruby.versions>
|
|
892
|
+
</properties>
|
|
893
|
+
</profile>
|
|
894
|
+
<profile>
|
|
895
|
+
<id>test-10.1.2.0</id>
|
|
896
|
+
<build>
|
|
897
|
+
<plugins>
|
|
898
|
+
<plugin>
|
|
899
|
+
<artifactId>maven-invoker-plugin</artifactId>
|
|
900
|
+
<version>3.8.1</version>
|
|
901
|
+
<executions>
|
|
902
|
+
<execution>
|
|
903
|
+
<goals>
|
|
904
|
+
<goal>install</goal>
|
|
905
|
+
<goal>run</goal>
|
|
906
|
+
</goals>
|
|
907
|
+
<configuration>
|
|
908
|
+
<projectsDirectory>src/it</projectsDirectory>
|
|
909
|
+
<pomIncludes>
|
|
910
|
+
<pomInclude>*/pom.xml</pomInclude>
|
|
911
|
+
</pomIncludes>
|
|
912
|
+
<streamLogs>true</streamLogs>
|
|
913
|
+
<properties>
|
|
914
|
+
<jruby.versions>${jruby.versions}</jruby.versions>
|
|
915
|
+
<jruby.openssl.version>${project.version}</jruby.openssl.version>
|
|
916
|
+
<bc.versions>${bc.versions}</bc.versions>
|
|
917
|
+
<runit.dir>${runit.dir}</runit.dir>
|
|
918
|
+
</properties>
|
|
919
|
+
</configuration>
|
|
920
|
+
</execution>
|
|
921
|
+
</executions>
|
|
922
|
+
</plugin>
|
|
923
|
+
</plugins>
|
|
924
|
+
</build>
|
|
925
|
+
<properties>
|
|
926
|
+
<bc.versions>1.80,1.81,1.82,1.83,1.84,1.85,1.86</bc.versions>
|
|
927
|
+
<jruby.version>10.1.2.0</jruby.version>
|
|
928
|
+
<jruby.versions>10.1.2.0</jruby.versions>
|
|
929
|
+
</properties>
|
|
930
|
+
</profile>
|
|
820
931
|
<profile>
|
|
821
932
|
<id>release</id>
|
|
822
933
|
<build>
|
|
@@ -931,6 +1042,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
931
1042
|
<include>org/jruby/ext/openssl/PKeyEdDSA.java</include>
|
|
932
1043
|
<include>org/jruby/ext/openssl/PKeyHMAC.java</include>
|
|
933
1044
|
<include>org/jruby/ext/openssl/PKeyRSA.java</include>
|
|
1045
|
+
<include>org/jruby/ext/openssl/PKeyXDH.java</include>
|
|
934
1046
|
<include>org/jruby/ext/openssl/Random.java</include>
|
|
935
1047
|
<include>org/jruby/ext/openssl/SSL.java</include>
|
|
936
1048
|
<include>org/jruby/ext/openssl/SSLContext.java</include>
|
|
@@ -939,6 +1051,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
939
1051
|
<include>org/jruby/ext/openssl/SecurityHelper.java</include>
|
|
940
1052
|
<include>org/jruby/ext/openssl/SimpleSecretKey.java</include>
|
|
941
1053
|
<include>org/jruby/ext/openssl/StringHelper.java</include>
|
|
1054
|
+
<include>org/jruby/ext/openssl/Timestamp.java</include>
|
|
942
1055
|
<include>org/jruby/ext/openssl/X509.java</include>
|
|
943
1056
|
<include>org/jruby/ext/openssl/X509Attribute.java</include>
|
|
944
1057
|
<include>org/jruby/ext/openssl/X509CRL.java</include>
|
|
@@ -982,6 +1095,7 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
982
1095
|
<include>org/jruby/ext/openssl/impl/PKCS7DataDigest.java</include>
|
|
983
1096
|
<include>org/jruby/ext/openssl/impl/PKCS7DataEncrypted.java</include>
|
|
984
1097
|
<include>org/jruby/ext/openssl/impl/PKCS7DataEnveloped.java</include>
|
|
1098
|
+
<include>org/jruby/ext/openssl/impl/PKCS7DataOther.java</include>
|
|
985
1099
|
<include>org/jruby/ext/openssl/impl/PKCS7DataSigned.java</include>
|
|
986
1100
|
<include>org/jruby/ext/openssl/impl/PKCS7DataSignedAndEnveloped.java</include>
|
|
987
1101
|
<include>org/jruby/ext/openssl/impl/PKCS7Exception.java</include>
|
|
@@ -992,8 +1106,6 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
992
1106
|
<include>org/jruby/ext/openssl/impl/Signed.java</include>
|
|
993
1107
|
<include>org/jruby/ext/openssl/impl/SignerInfoWithPkey.java</include>
|
|
994
1108
|
<include>org/jruby/ext/openssl/impl/TypeDiscriminating.java</include>
|
|
995
|
-
<include>org/jruby/ext/openssl/impl/pem/MiscPEMGeneratorHelper.java</include>
|
|
996
|
-
<include>org/jruby/ext/openssl/impl/pem/PEMUtilities.java</include>
|
|
997
1109
|
<include>org/jruby/ext/openssl/log/DefaultLogger.java</include>
|
|
998
1110
|
<include>org/jruby/ext/openssl/log/JULLogger.java</include>
|
|
999
1111
|
<include>org/jruby/ext/openssl/log/Logger.java</include>
|
|
@@ -1002,10 +1114,10 @@ DO NOT MODIFY - GENERATED CODE
|
|
|
1002
1114
|
<include>org/jruby/ext/openssl/shim/CipherShim.java</include>
|
|
1003
1115
|
<include>org/jruby/ext/openssl/shim/ErrorShim.java</include>
|
|
1004
1116
|
<include>org/jruby/ext/openssl/shim/PKeyShim.java</include>
|
|
1117
|
+
<include>org/jruby/ext/openssl/shim/ProviderShim.java</include>
|
|
1005
1118
|
<include>org/jruby/ext/openssl/util/ByteArrayOutputStream.java</include>
|
|
1006
1119
|
<include>org/jruby/ext/openssl/util/Cache.java</include>
|
|
1007
1120
|
<include>org/jruby/ext/openssl/util/ExceptionUtil.java</include>
|
|
1008
|
-
<include>org/jruby/ext/openssl/util/PEMGenerator.java</include>
|
|
1009
1121
|
<include>org/jruby/ext/openssl/util/RubySupport.java</include>
|
|
1010
1122
|
<include>org/jruby/ext/openssl/x509store/CRL.java</include>
|
|
1011
1123
|
<include>org/jruby/ext/openssl/x509store/Certificate.java</include>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
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.19.
|
|
4
|
+
version: 0.19.2
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Karol Bucek
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
- JRuby contributors
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2026-
|
|
12
|
+
date: 2026-09-25 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
14
|
description: Ruby OpenSSL compatibility for JRuby, based on Java JCA/JCE and Bouncy
|
|
15
15
|
Castle libraries (does not depend on native OpenSSL).
|
|
@@ -40,10 +40,10 @@ files:
|
|
|
40
40
|
- lib/openssl/ssl.rb
|
|
41
41
|
- lib/openssl/x509.rb
|
|
42
42
|
- pom.xml
|
|
43
|
-
- vendor/org/bouncycastle/bcpkix-jdk18on/1.
|
|
44
|
-
- vendor/org/bouncycastle/bcprov-jdk18on/1.
|
|
45
|
-
- vendor/org/bouncycastle/bctls-jdk18on/1.
|
|
46
|
-
- vendor/org/bouncycastle/bcutil-jdk18on/1.
|
|
43
|
+
- vendor/org/bouncycastle/bcpkix-jdk18on/1.86/bcpkix-jdk18on-1.86.jar
|
|
44
|
+
- vendor/org/bouncycastle/bcprov-jdk18on/1.86/bcprov-jdk18on-1.86.jar
|
|
45
|
+
- vendor/org/bouncycastle/bctls-jdk18on/1.86.1/bctls-jdk18on-1.86.1.jar
|
|
46
|
+
- vendor/org/bouncycastle/bcutil-jdk18on/1.86/bcutil-jdk18on-1.86.jar
|
|
47
47
|
licenses:
|
|
48
48
|
- EPL-1.0
|
|
49
49
|
- GPL-2.0
|
|
@@ -67,10 +67,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
69
|
requirements:
|
|
70
|
-
- jar org.bouncycastle:bcprov-jdk18on, [1.80,1.
|
|
71
|
-
- jar org.bouncycastle:bcpkix-jdk18on, [1.80,1.
|
|
72
|
-
- jar org.bouncycastle:bctls-jdk18on, [1.80,1.
|
|
73
|
-
- jar org.bouncycastle:bcutil-jdk18on, [1.80,1.
|
|
70
|
+
- jar org.bouncycastle:bcprov-jdk18on, [1.80,1.86]
|
|
71
|
+
- jar org.bouncycastle:bcpkix-jdk18on, [1.80,1.86]
|
|
72
|
+
- jar org.bouncycastle:bctls-jdk18on, [1.80,1.86.1]
|
|
73
|
+
- jar org.bouncycastle:bcutil-jdk18on, [1.80,1.86]
|
|
74
74
|
rubygems_version: 3.6.3
|
|
75
75
|
specification_version: 4
|
|
76
76
|
summary: SSL/TLS and general-purpose cryptography for JRuby
|
|
Binary file
|