jruby-openssl 0.19.1-java → 0.19.3-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d303c479c506753df7b876af7963e7eea17311aff21f7830deab8fb406a99e85
4
- data.tar.gz: 24f04a2d978a80711b6271e748068037ad8b4ce4b0f2607ba57aab283c7d980d
3
+ metadata.gz: 4b2d2e2cfb98fb276169353e0a96ef2c41b5ed9be72afe65f8a533f2af389303
4
+ data.tar.gz: 56891904f7804768cdf31d8a10f7f86c91ef1a1a86119d297648fb9b293a9f1e
5
5
  SHA512:
6
- metadata.gz: 43e9318c7276016bec340d935b6e78b019c6a1959cbed2c5b0f2545617618b84e6da586d83291a5dd55d9609d2534fe051228a8af99104e8e96d85054c53e025
7
- data.tar.gz: caabdffeedc0fc4a813be83222cceddfc85d254959f32a81ad9b908a84a3feec977b67628484b7af72f30cbbc3469c44287934d8a0945d8782e147e2dee4e0d7
6
+ metadata.gz: 898da59071f4969cd053072d181954355a668e9fd5011c9b099287bc899e24525e73ff1b8a43efc00a8fd9ca06bcc20e5293e0fc734379863bb62957d4412447
7
+ data.tar.gz: 58fe61d22c8346b07b27acce29b7aa8fb489e603e2aededac65f94fc05dcf51e6e788af5ae8473c59bf0470539e07e541fcd3dda823f1bbd370f48ed016e9462
data/History.md CHANGED
@@ -1,3 +1,70 @@
1
+ ## 0.19.3
2
+
3
+ Broader OpenSSL compatibility across PKCS7, X.509, key handling and big numbers,
4
+ with new DH validation and digest enumeration support.
5
+
6
+ - [feat] implement `Digest.digests` algorithm enumeration
7
+ - [feat] add `PKey::DH#params_ok?` parameter validation
8
+ - [compat] add `PKey::DH#public_key`
9
+ - [feat] add EC `on_curve?` checks and hybrid point serialization
10
+ - [compat] align PKCS7 behavior with OpenSSL
11
+ - [compat] align PKCS12 MAC handling (PKCS12KDF & PBMAC1) with OpenSSL
12
+ - [compat] support configured X.509 extensions
13
+ - [compat] load X.509 certificate chains
14
+ - [compat] support multiple CRL distribution point URIs
15
+ - [compat] format X.509 names like OpenSSL
16
+ - [compat] validate X.509 attribute values
17
+ - [compat] suppress X.509 store callback exceptions
18
+ - [compat] parse DER certificates before trying PEM
19
+ - [compat] align Netscape SPKI serialization with OpenSSL
20
+ - [compat] align OCSP signing with OpenSSL
21
+ - [compat] align BN modular arithmetic and negative string conversion
22
+ - [compat] raise `BNError` for invalid arithmetic
23
+ - [compat] reject `nil` BN values
24
+ - [compat] map invalid X.509 extension values to `ExtensionError`
25
+ - [compat] copy X.509 collection arguments to avoid retaining caller-owned arrays
26
+ - [fix] format zero BN as single hex digit
27
+ - [fix] report BouncyCastle `SecureRandom` initialization errors
28
+ - [fix] reset TLS output buffer after shutdown
29
+
30
+ ## 0.19.2
31
+
32
+ ASN.1 and X.509 compatibility improvements, new OpenSSL::Timestamp support &
33
+ upgrading Bouncy Castle to latest.
34
+
35
+ - [feat] implement `OpenSSL::Timestamp` support (#372)
36
+ - [feat] implement `SSLContext#add_certificate`
37
+ - [compat] improve ASN.1 BER parsing, including high tags, indefinite lengths,
38
+ nested constructed values, malformed input, EOC, SET ordering and tagging
39
+ - [compat] preserve X.509 RDN sets and CRL extension order
40
+ - [compat] implement `OCSP::Request#signed?` and `X509::Revoked#to_der`
41
+ - [compat] improve CRL and `Time` writer handling
42
+ - [compat] align `ASN1::ObjectId` handling with MRI
43
+ - [compat] improve extended key usage parsing
44
+ - [compat] reject invalid DH peer values
45
+ - [compat] add BN `mod_sqrt` and left/right shift support
46
+ - [compat] reject incomplete PKCS7 recipients and non-SET X.509 attribute values
47
+ - [compat] ignore `FAIL_IF_NO_PEER_CERT` without `VERIFY_PEER`
48
+ - [compat] reject unexpected TLS EOFs unless `OP_IGNORE_UNEXPECTED_EOF` is enabled
49
+ - [compat] align SSL `close_notify` handling with OpenSSL
50
+ - [compat] add `SSLSocket#readbyte`
51
+ - [compat] verify PKCS12 PBMAC1 across BC-FIPS versions
52
+ - [fix] harden OCSP response verification
53
+ - [fix] encode long-form ASN.1 lengths correctly
54
+ - [fix] preserve changes made to `X509::CRL`
55
+ - [fix] try all certificates with the issuer's subject name
56
+ - [fix] match CRLs from the same issuer
57
+ - [fix] encode empty PKCS7 signer signatures (#373)
58
+ - [fix] wait for partial TLS records before unwrapping
59
+ - [fix] interrupt blocking SSL reads when the socket is closed concurrently
60
+ - [fix] avoid shutdown spin on non-blocking SSL writes
61
+ - [fix] retry a full handshake when TLS session reuse fails (#369)
62
+ - [deps] upgrade BC to version 1.86
63
+
64
+ ## 0.16.3
65
+
66
+ - [deps] upgrade BC to version 1.86
67
+
1
68
  ## 0.19.1
2
69
 
3
70
  X25519/X448 key support and DH key reading, and a (final) round of provider
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
- Check latest jruby-openssl gem spec's `jar` *requirements* for compatibility.
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.0.x | Java 8-25 | 1.83-1.85 |
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,14 +80,18 @@ 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)
85
87
  - `SSLSocket#state` and NPN (`#npn_protocol`) are unimplemented and return `nil` - use ALPN instead
88
+ - `SSLSocket#close_write` closes both TLS directions even on TLS 1.3; reading a peer response afterward
89
+ is unsupported, use message lengths or delimiters to frame requests instead of TLS EOF
90
+ NOTE: that you can enforce the half-close when using the JDK built-in SunJSSE provider
86
91
  - Forced session resumption (`SSLSocket#session=`) is best-effort and only fully works with the
87
92
  BouncyCastle JSSE provider; `session_reused?` may return `nil` ("can't decide")
88
- - `SSL::Session#id=` / `#time=` are no-ops; `SSL::Session.new` on a non-socket raises `NotImplementedError`
93
+ - `SSL::Session#id=` / `#time=` are no-ops
94
+ - `SSL::Session.new` on a non-socket raises `NotImplementedError`
89
95
  - Hostname / `subjectAltName` matching runs over Java's certificate parsing and can differ from
90
96
  MRI's `GeneralName` handling in edge cases
91
97
 
@@ -97,19 +103,22 @@ Bouncy Castle libraries, so some entry points are unavailable, behave differentl
97
103
 
98
104
  **PKey** (EC / DH / EdDSA)
99
105
  - EC is limited to prime curves (`:GFp`); binary-field curves (`:GF2m`) fail
100
- - `EC::Point#mul` with array arguments, `:hybrid` point compression, and encrypted EC private-key
101
- export are not implemented
102
- - `DH#set_pqg` accepts but silently ignores the `q` parameter
106
+ - `EC::Point#mul` with array arguments and encrypted EC private-key export are not implemented
107
+ - `DH#set_pqg` ignores the `q` parameter (and warns when it is non-`nil`)
103
108
  - EdDSA (`Ed25519` / `Ed448`) rejects digest arguments
104
109
 
105
110
  **X509**
106
- - multi-valued RDNs (the `+` separator in a DN string) are not supported and raise `X509::NameError`.
111
+ - multi-valued RDNs (the `+` separator in a DN string) are not supported and raise `X509::NameError`
107
112
  - few `authorityKeyIdentifier` extension configurations are unsupported
108
113
 
109
114
  **Random**
110
115
  - randomness comes from the JVM's `SecureRandom`; the EGD and seed-file APIs (`Random.egd`,
111
116
  `egd_bytes`, `load_random_file`, `write_random_file`) are no-ops
112
117
 
118
+ **BN**
119
+ - `BN#get_flags` always returns zero; `BN#set_flags(0)` is a no-op; the OpenSSL constant-time mode
120
+ (`BN::CONSTTIME`) is not supported
121
+
113
122
  **Other**
114
123
  - `OpenSSL.fips_mode = true` raises `NotImplementedError` unless the separate [FIPS variant](#fips)
115
124
  gem is installed
data/Rakefile CHANGED
@@ -95,6 +95,9 @@ task :test => ['lib/jopenssl.jar', 'pkg/test-classes/org/jruby/ext/openssl/Secur
95
95
  require_relative 'tasks/vendor_tests'
96
96
  define_vendor_test_tasks # root + jopenssl_lib default to this tree
97
97
 
98
+ require_relative 'tasks/mri_tests'
99
+ define_mri_test_task
100
+
98
101
  require_relative 'tasks/provider_tests'
99
102
  namespace :test do
100
103
  namespace :provider do
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
  module JOpenSSL
3
- VERSION = '0.19.1'
4
- BOUNCY_CASTLE_VERSION = '1.85'
3
+ VERSION = '0.19.3'
4
+ BOUNCY_CASTLE_VERSION = '1.86'
5
5
 
6
6
  # @private
7
7
  BOUNCY_CASTLE_PATCH_VERSIONS = {
8
- 'bcprov-jdk18on' => "#{BOUNCY_CASTLE_VERSION}.2"
8
+ 'bctls-jdk18on' => "#{BOUNCY_CASTLE_VERSION}.1"
9
9
  }.freeze
10
10
  private_constant :BOUNCY_CASTLE_PATCH_VERSIONS
11
11
 
data/lib/jopenssl.jar CHANGED
Binary file
@@ -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/lib/openssl/ssl.rb CHANGED
@@ -489,6 +489,8 @@ YoaOffgTf5qxiwkjnlVZQc3whgnEt9FpVMvQ9eknyeGB5KHfayAc3+hUAvI3/Cr3
489
489
  # Therefore, on TLS 1.2, this method will cause the connection to be
490
490
  # completely shut down. On TLS 1.3, the connection will remain open for
491
491
  # reading only.
492
+ #
493
+ # NOTE: JRuby, when using BC-JSSE, closes both directions even on TLS 1.3
492
494
  def close_write
493
495
  stop
494
496
  end
data/lib/openssl/x509.rb CHANGED
@@ -135,19 +135,19 @@ module OpenSSL
135
135
  raise ASN1::ASN1Error, "invalid extension"
136
136
  end
137
137
 
138
- crl_uris = cdp_asn1.map do |crl_distribution_point|
138
+ crl_uris = cdp_asn1.flat_map do |crl_distribution_point|
139
139
  distribution_point = crl_distribution_point.value.find do |v|
140
140
  v.tag_class == :CONTEXT_SPECIFIC && v.tag == 0
141
141
  end
142
142
  full_name = distribution_point&.value&.find do |v|
143
143
  v.tag_class == :CONTEXT_SPECIFIC && v.tag == 0
144
144
  end
145
- full_name&.value&.find do |v|
145
+ full_name&.value&.select do |v|
146
146
  v.tag_class == :CONTEXT_SPECIFIC && v.tag == 6 # uniformResourceIdentifier
147
147
  end
148
148
  end
149
149
 
150
- crl_uris&.map(&:value)
150
+ crl_uris.empty? ? nil : crl_uris.map(&:value)
151
151
  end
152
152
  end
153
153
 
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.1</version>
14
+ <version>0.19.3</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.85</bc.versions>
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.85.2]</version>
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.85]</version>
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.85]</version>
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.85]</version>
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>
@@ -940,6 +1051,7 @@ DO NOT MODIFY - GENERATED CODE
940
1051
  <include>org/jruby/ext/openssl/SecurityHelper.java</include>
941
1052
  <include>org/jruby/ext/openssl/SimpleSecretKey.java</include>
942
1053
  <include>org/jruby/ext/openssl/StringHelper.java</include>
1054
+ <include>org/jruby/ext/openssl/Timestamp.java</include>
943
1055
  <include>org/jruby/ext/openssl/X509.java</include>
944
1056
  <include>org/jruby/ext/openssl/X509Attribute.java</include>
945
1057
  <include>org/jruby/ext/openssl/X509CRL.java</include>
@@ -983,6 +1095,7 @@ DO NOT MODIFY - GENERATED CODE
983
1095
  <include>org/jruby/ext/openssl/impl/PKCS7DataDigest.java</include>
984
1096
  <include>org/jruby/ext/openssl/impl/PKCS7DataEncrypted.java</include>
985
1097
  <include>org/jruby/ext/openssl/impl/PKCS7DataEnveloped.java</include>
1098
+ <include>org/jruby/ext/openssl/impl/PKCS7DataOther.java</include>
986
1099
  <include>org/jruby/ext/openssl/impl/PKCS7DataSigned.java</include>
987
1100
  <include>org/jruby/ext/openssl/impl/PKCS7DataSignedAndEnveloped.java</include>
988
1101
  <include>org/jruby/ext/openssl/impl/PKCS7Exception.java</include>
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.1
4
+ version: 0.19.3
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-09-01 00:00:00.000000000 Z
12
+ date: 2026-10-07 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.85/bcpkix-jdk18on-1.85.jar
44
- - vendor/org/bouncycastle/bcprov-jdk18on/1.85.2/bcprov-jdk18on-1.85.2.jar
45
- - vendor/org/bouncycastle/bctls-jdk18on/1.85/bctls-jdk18on-1.85.jar
46
- - vendor/org/bouncycastle/bcutil-jdk18on/1.85/bcutil-jdk18on-1.85.jar
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.85.2]
71
- - jar org.bouncycastle:bcpkix-jdk18on, [1.80,1.85]
72
- - jar org.bouncycastle:bctls-jdk18on, [1.80,1.85]
73
- - jar org.bouncycastle:bcutil-jdk18on, [1.80,1.85]
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