jruby-openssl 0.9.5-java → 0.9.6-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.
@@ -20,4 +20,3 @@ require 'openssl/config'
20
20
  require 'openssl/digest'
21
21
  require 'openssl/x509'
22
22
  require 'openssl/ssl'
23
- require 'krypt/ossl'
@@ -18,12 +18,6 @@
18
18
  #
19
19
  #++
20
20
 
21
- module OpenSSL
22
- class BN
23
- include Comparable
24
- end # BN
25
- end # OpenSSL
26
-
27
21
  ##
28
22
  # Add double dispatch to Integer
29
23
  #
@@ -20,46 +20,9 @@
20
20
 
21
21
  module OpenSSL
22
22
  class Cipher
23
- %w(AES CAST5 BF DES IDEA RC2 RC4 RC5).each{|name|
24
- klass = Class.new(Cipher){
25
- define_method(:initialize){|*args|
26
- cipher_name = args.inject(name){|n, arg| "#{n}-#{arg}" }
27
- super(cipher_name)
28
- }
29
- }
30
- const_set(name, klass)
31
- }
32
-
33
- %w(128 192 256).each{|keylen|
34
- klass = Class.new(Cipher){
35
- define_method(:initialize){|mode|
36
- mode ||= "CBC"
37
- cipher_name = "AES-#{keylen}-#{mode}"
38
- super(cipher_name)
39
- }
40
- }
41
- const_set("AES#{keylen}", klass)
42
- }
43
-
44
- # Generate, set, and return a random key.
45
- # You must call cipher.encrypt or cipher.decrypt before calling this method.
46
- def random_key
47
- str = OpenSSL::Random.random_bytes(self.key_len)
48
- self.key = str
49
- return str
50
- end
51
-
52
- # Generate, set, and return a random iv.
53
- # You must call cipher.encrypt or cipher.decrypt before calling this method.
54
- def random_iv
55
- str = OpenSSL::Random.random_bytes(self.iv_len)
56
- self.iv = str
57
- return str
58
- end
59
-
60
23
  # This class is only provided for backwards compatibility. Use OpenSSL::Cipher in the future.
61
24
  class Cipher < Cipher
62
25
  # add warning
63
26
  end
64
27
  end # Cipher
65
- end # OpenSSL
28
+ end # OpenSSL
@@ -20,45 +20,6 @@
20
20
 
21
21
  module OpenSSL
22
22
  class Digest
23
-
24
- alg = %w(DSS DSS1 MD2 MD4 MD5 MDC2 RIPEMD160 SHA SHA1)
25
- if OPENSSL_VERSION_NUMBER > 0x00908000
26
- alg += %w(SHA224 SHA256 SHA384 SHA512)
27
- end
28
-
29
- # Return the +data+ hash computed with +name+ Digest. +name+ is either the
30
- # long name or short name of a supported digest algorithm.
31
- #
32
- # === Examples
33
- #
34
- # OpenSSL::Digest.digest("SHA256", "abc")
35
- #
36
- # which is equivalent to:
37
- #
38
- # OpenSSL::Digest::SHA256.digest("abc")
39
-
40
- def self.digest(name, data)
41
- super(data, name)
42
- end
43
-
44
- alg.each{|name|
45
- klass = Class.new(Digest){
46
- define_method(:initialize){|*data|
47
- if data.length > 1
48
- raise ArgumentError,
49
- "wrong number of arguments (#{data.length} for 1)"
50
- end
51
- super(name, data.first)
52
- }
53
- }
54
- singleton = (class << klass; self; end)
55
- singleton.class_eval{
56
- define_method(:digest){|data| Digest.digest(name, data) }
57
- define_method(:hexdigest){|data| Digest.hexdigest(name, data) }
58
- }
59
- const_set(name, klass)
60
- }
61
-
62
23
  # This class is only provided for backwards compatibility. Use OpenSSL::Digest in the future.
63
24
  class Digest < Digest
64
25
  def initialize(*args)
@@ -66,7 +27,6 @@ module OpenSSL
66
27
  super(*args)
67
28
  end
68
29
  end
69
-
70
30
  end # Digest
71
31
 
72
32
  # Returns a Digest subclass by +name+.
@@ -82,7 +42,7 @@ module OpenSSL
82
42
  def Digest(name)
83
43
  OpenSSL::Digest.const_get(name)
84
44
  end
85
-
45
+
86
46
  module_function :Digest
87
47
 
88
48
  end # OpenSSL
@@ -19,42 +19,6 @@ require "fcntl"
19
19
 
20
20
  module OpenSSL
21
21
  module SSL
22
- class SSLContext
23
- DEFAULT_PARAMS = {
24
- :ssl_version => "SSLv23",
25
- :verify_mode => OpenSSL::SSL::VERIFY_PEER,
26
- :ciphers => "ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW",
27
- :options => defined?(OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS) ?
28
- OpenSSL::SSL::OP_ALL & ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS :
29
- OpenSSL::SSL::OP_ALL,
30
- }
31
-
32
- DEFAULT_CERT_STORE = OpenSSL::X509::Store.new
33
- DEFAULT_CERT_STORE.set_default_paths
34
- if defined?(OpenSSL::X509::V_FLAG_CRL_CHECK_ALL)
35
- DEFAULT_CERT_STORE.flags = OpenSSL::X509::V_FLAG_CRL_CHECK_ALL
36
- end
37
-
38
- ##
39
- # Sets the parameters for this SSL context to the values in +params+.
40
- # The keys in +params+ must be assignment methods on SSLContext.
41
- #
42
- # If the verify_mode is not VERIFY_NONE and ca_file, ca_path and
43
- # cert_store are not set then the system default certificate store is
44
- # used.
45
-
46
- def set_params(params={})
47
- params = DEFAULT_PARAMS.merge(params)
48
- params.each{|name, value| self.__send__("#{name}=", value) }
49
- if self.verify_mode != OpenSSL::SSL::VERIFY_NONE
50
- unless self.ca_file or self.ca_path or self.cert_store
51
- self.cert_store = DEFAULT_CERT_STORE
52
- end
53
- end
54
- return params
55
- end
56
- end
57
-
58
22
  module SocketForwarder
59
23
  def addr
60
24
  to_io.addr
@@ -105,7 +69,11 @@ module OpenSSL
105
69
  should_verify_common_name = false
106
70
  reg = Regexp.escape($1).gsub(/\\\*/, "[^.]+")
107
71
  return true if /\A#{reg}\z/i =~ hostname
108
- elsif /\AIP Address:(.*)/ =~ general_name
72
+ # NOTE: somehow we need the IP: canonical form
73
+ # seems there were failures elsewhere when not
74
+ # not sure how that's possible possible to-do!
75
+ elsif /\AIP(?: Address)?:(.*)/ =~ general_name
76
+ #elsif /\AIP Address:(.*)/ =~ general_name
109
77
  should_verify_common_name = false
110
78
  return true if $1 == hostname
111
79
  end
@@ -20,49 +20,6 @@
20
20
 
21
21
  module OpenSSL
22
22
  module X509
23
- class ExtensionFactory
24
- def create_extension(*arg)
25
- if arg.size > 1
26
- create_ext(*arg)
27
- else
28
- send("create_ext_from_"+arg[0].class.name.downcase, arg[0])
29
- end
30
- end
31
-
32
- def create_ext_from_array(ary)
33
- raise ExtensionError, "unexpected array form" if ary.size > 3
34
- create_ext(ary[0], ary[1], ary[2])
35
- end
36
-
37
- def create_ext_from_string(str) # "oid = critical, value"
38
- oid, value = str.split(/=/, 2)
39
- oid.strip!
40
- value.strip!
41
- create_ext(oid, value)
42
- end
43
-
44
- def create_ext_from_hash(hash)
45
- create_ext(hash["oid"], hash["value"], hash["critical"])
46
- end
47
- end
48
-
49
- class Extension
50
- def to_s # "oid = critical, value"
51
- str = self.oid
52
- str << " = "
53
- str << "critical, " if self.critical?
54
- str << self.value.gsub(/\n/, ", ")
55
- end
56
-
57
- def to_h # {"oid"=>sn|ln, "value"=>value, "critical"=>true|false}
58
- {"oid"=>self.oid,"value"=>self.value,"critical"=>self.critical?}
59
- end
60
-
61
- def to_a
62
- [ self.oid, self.value, self.critical? ]
63
- end
64
- end
65
-
66
23
  class Name
67
24
  module RFC2253DN
68
25
  Special = ',=+<>#;'
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.9.5
4
+ version: 0.9.6
5
5
  platform: java
6
6
  authors:
7
7
  - Ola Bini
@@ -9,68 +9,98 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-24 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2014-12-19 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jar-dependencies
16
+ version_requirements: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '='
19
+ - !ruby/object:Gem::Version
20
+ version: 0.0.9
21
+ requirement: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - '='
24
+ - !ruby/object:Gem::Version
25
+ version: 0.0.9
26
+ prerelease: false
27
+ type: :development
28
+ - !ruby/object:Gem::Dependency
29
+ name: mocha
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 1.1.0
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ version: 1.1.0
40
+ prerelease: false
41
+ type: :development
14
42
  description: JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library.
15
43
  email: ola.bini@gmail.com
16
44
  executables: []
17
45
  extensions: []
18
46
  extra_rdoc_files: []
19
47
  files:
20
- - License.txt
48
+ - History.md
49
+ - LICENSE.txt
50
+ - README.md
21
51
  - Rakefile
22
- - README.txt
23
- - Mavenfile
24
- - History.txt
25
- - lib/jruby-openssl.rb
26
- - lib/openssl.rb
27
- - lib/jopenssl.jar
52
+ - lib/jopenssl/load.rb
53
+ - lib/jopenssl/version.rb
54
+ - lib/jopenssl18/openssl.rb
55
+ - lib/jopenssl18/openssl/bn.rb
56
+ - lib/jopenssl18/openssl/buffering.rb
57
+ - lib/jopenssl18/openssl/cipher.rb
58
+ - lib/jopenssl18/openssl/config.rb
59
+ - lib/jopenssl18/openssl/digest.rb
60
+ - lib/jopenssl18/openssl/pkcs7.rb
61
+ - lib/jopenssl18/openssl/ssl-internal.rb
62
+ - lib/jopenssl18/openssl/ssl.rb
63
+ - lib/jopenssl18/openssl/x509-internal.rb
64
+ - lib/jopenssl18/openssl/x509.rb
28
65
  - lib/jopenssl19/openssl.rb
29
66
  - lib/jopenssl19/openssl/bn.rb
30
- - lib/jopenssl19/openssl/x509.rb
67
+ - lib/jopenssl19/openssl/buffering.rb
31
68
  - lib/jopenssl19/openssl/cipher.rb
32
- - lib/jopenssl19/openssl/ssl.rb
33
69
  - lib/jopenssl19/openssl/config.rb
34
70
  - lib/jopenssl19/openssl/digest.rb
35
71
  - lib/jopenssl19/openssl/ssl-internal.rb
36
- - lib/jopenssl19/openssl/buffering.rb
72
+ - lib/jopenssl19/openssl/ssl.rb
37
73
  - lib/jopenssl19/openssl/x509-internal.rb
38
- - lib/openssl/pkcs7.rb
74
+ - lib/jopenssl19/openssl/x509.rb
75
+ - lib/jopenssl21/openssl.rb
76
+ - lib/jopenssl21/openssl/bn.rb
77
+ - lib/jopenssl21/openssl/buffering.rb
78
+ - lib/jopenssl21/openssl/cipher.rb
79
+ - lib/jopenssl21/openssl/config.rb
80
+ - lib/jopenssl21/openssl/digest.rb
81
+ - lib/jopenssl21/openssl/ssl.rb
82
+ - lib/jopenssl21/openssl/x509.rb
83
+ - lib/jruby-openssl.rb
84
+ - lib/openssl.rb
39
85
  - lib/openssl/bn.rb
40
- - lib/openssl/x509.rb
41
- - lib/openssl/pkcs12.rb
86
+ - lib/openssl/buffering.rb
42
87
  - lib/openssl/cipher.rb
43
- - lib/openssl/ssl.rb
44
88
  - lib/openssl/config.rb
45
89
  - lib/openssl/digest.rb
90
+ - lib/openssl/pkcs12.rb
91
+ - lib/openssl/pkcs7.rb
46
92
  - lib/openssl/ssl-internal.rb
47
- - lib/openssl/buffering.rb
93
+ - lib/openssl/ssl.rb
48
94
  - lib/openssl/x509-internal.rb
49
- - lib/jopenssl21/openssl.rb
50
- - lib/jopenssl21/openssl/bn.rb
51
- - lib/jopenssl21/openssl/x509.rb
52
- - lib/jopenssl21/openssl/cipher.rb
53
- - lib/jopenssl21/openssl/ssl.rb
54
- - lib/jopenssl21/openssl/config.rb
55
- - lib/jopenssl21/openssl/digest.rb
56
- - lib/jopenssl21/openssl/buffering.rb
57
- - lib/jopenssl18/openssl.rb
58
- - lib/jopenssl18/openssl/pkcs7.rb
59
- - lib/jopenssl18/openssl/bn.rb
60
- - lib/jopenssl18/openssl/x509.rb
61
- - lib/jopenssl18/openssl/cipher.rb
62
- - lib/jopenssl18/openssl/ssl.rb
63
- - lib/jopenssl18/openssl/config.rb
64
- - lib/jopenssl18/openssl/digest.rb
65
- - lib/jopenssl18/openssl/ssl-internal.rb
66
- - lib/jopenssl18/openssl/buffering.rb
67
- - lib/jopenssl18/openssl/x509-internal.rb
68
- - lib/org/bouncycastle/bcpkix-jdk15on/1.47/bcpkix-jdk15on-1.47.jar
69
- - lib/org/bouncycastle/bcprov-jdk15on/1.47/bcprov-jdk15on-1.47.jar
70
- - lib/jopenssl/version.rb
71
- - lib/jopenssl/load.rb
72
- homepage: https://github.com/jruby/jruby
73
- licenses: []
95
+ - lib/openssl/x509.rb
96
+ - lib/jopenssl.jar
97
+ - lib/org/bouncycastle/bcpkix-jdk15on/1.49/bcpkix-jdk15on-1.49.jar
98
+ - lib/org/bouncycastle/bcprov-jdk15on/1.49/bcprov-jdk15on-1.49.jar
99
+ homepage: https://github.com/jruby/jruby-openssl
100
+ licenses:
101
+ - EPL-1.0
102
+ - GPL-2.0
103
+ - LGPL-2.1
74
104
  metadata: {}
75
105
  post_install_message:
76
106
  rdoc_options: []
@@ -87,9 +117,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
117
  - !ruby/object:Gem::Version
88
118
  version: '0'
89
119
  requirements:
90
- - jar org.bouncycastle:bcpkix-jdk15on, 1.47
91
- - jar org.bouncycastle:bcprov-jdk15on, 1.47
92
- rubyforge_project: jruby/jruby
120
+ - jar org.bouncycastle:bcpkix-jdk15on, 1.49
121
+ - jar org.bouncycastle:bcprov-jdk15on, 1.49
122
+ rubyforge_project:
93
123
  rubygems_version: 2.1.9
94
124
  signing_key:
95
125
  specification_version: 4
@@ -1,218 +0,0 @@
1
- == 0.7.7
2
-
3
- This release includes bug fixes.
4
-
5
- - JRUBY-6622: Support loading encrypted RSA key with PBES2
6
- - JRUBY-4326: Confusing (and late) OpenSSL error message
7
- - JRUBY-6579: Avoid ClassCastException for public key loading
8
- - JRUBY-6515: sending UTF-8 data over SSL can hang with openssl
9
- - Update tests to sync with CRuby ruby_1_9_3
10
-
11
- == 0.7.6
12
-
13
- This release includes initial implementation of PKCS12 by Owen Ou.
14
-
15
- - JRUBY-5066: Implement OpenSSL::PKCS12 (only for simple case)
16
- - JRUBY-6385: Assertion failure with -J-ea
17
-
18
- == 0.7.5
19
-
20
- This release improved 1.9 mode support with help of
21
- Duncan Mak <duncan@earthaid.net>. Now jruby-ossl gem includes both 1.8 and 1.9
22
- libraries and part of features should work fine on 1.9 mode, too.
23
-
24
- - JRUBY-6270: Wrong keyUsage check for SSL server
25
- - JRUBY-6260: OpenSSL::ASN1::Integer#value incompatibility
26
- - JRUBY-6044: Improve Ecrypted RSA/DSA pem support
27
- - JRUBY-5972: Allow to load/dump empty PKCS7 data
28
- - JRUBY-5834: Fix X509Name handling; X509Name RDN can include multiple elements
29
- - JRUBY-5362: Improved 1.9 support
30
- - JRUBY-4992: Warn if loaded by non JRuby interpreter
31
-
32
- == 0.7.4
33
-
34
- - JRUBY-5519: Avoid String encoding dependency in DER loading. PEM loading
35
- failed on JRuby 1.6.x. Fixed.
36
- - JRUBY-5510: Add debug information to released jar
37
- - JRUBY-5478: Update bouncycastle jars to the latest version. (1.46)
38
-
39
- == 0.7.3
40
-
41
- - JRUBY-5200: Net::IMAP + SSL(imaps) login could hang. Fixed.
42
- - JRUBY-5253: Allow to load the certificate file which includes private
43
- key for activemarchant compatibility.
44
- - JRUBY-5267: Added SSL socket error-checks to avoid busy loop under an
45
- unknown condition.
46
- - JRUBY-5316: Improvements for J9's IBMJCE support. Now all testcases
47
- pass on J9 JDK 6.
48
-
49
- == 0.7.2
50
-
51
- - JRUBY-5126: Ignore Cipher#reset and Cipher#iv= when it's a stream
52
- cipher (Net::SSH compatibility)
53
- - JRUBY-5125: let Cipher#name for 'rc4' to be 'RC4' (Net::SSH
54
- compatibility)
55
- - JRUBY-5096: Fixed inconsistent Certificate verification behavior
56
- - JRUBY-5060: Avoid NPE from to_pem for empty X509 Objects
57
- - JRUBY-5059: SSLSocket ignores Timeout (Fixed)
58
- - JRUBY-4965: implemented OpenSSL::Config
59
- - JRUBY-5023: make Certificate#signature_algorithm return correct algo
60
- name; "sha1WithRSAEncryption" instead of "SHA1"
61
- - JRUBY-5024: let HMAC.new accept a String as a digest name
62
- - JRUBY-5018: SSLSocket holds selectors, keys, preventing quick
63
- cleanup of resources when dereferenced
64
-
65
- == 0.7.1
66
-
67
- - NOTE: Now BouncyCastle jars has moved out to its own gem
68
- "bouncy-castle-java" (http://rubygems.org/gems/bouncy-castle-java).
69
- You don't need to care about it because "jruby-openssl" gem depends
70
- on it from now on.
71
-
72
- === SSL bugfix
73
-
74
- - JRUBY-4826 net/https client possibly raises "rbuf_fill': End of file
75
- reached (EOFError)" for HTTP chunked read.
76
-
77
- === Misc
78
-
79
- - JRUBY-4900: Set proper String to OpenSSL::OPENSSL_VERSION. Make sure
80
- it's not an OpenSSL artifact: "OpenSSL 0.9.8b 04 May 2006
81
- (JRuby-OpenSSL fake)" -> "jruby-ossl 0.7.1"
82
- - JRUBY-4975: Moving BouncyCastle jars out to its own gem.
83
-
84
- == 0.7
85
-
86
- - Follow MRI 1.8.7 openssl API changes
87
- - Fixes so that jruby-openssl can run on appengine
88
- - Many bug and compatibility fixes, see below.
89
- - This is the last release that will be compatible with JRuby 1.4.x.
90
- - Compatibility issues
91
- -- JRUBY-4342: Follow ruby-openssl of CRuby 1.8.7.
92
- -- JRUBY-4346: Sync tests with tests for ruby-openssl of CRuby 1.8.7.
93
- -- JRUBY-4444: OpenSSL crash running RubyGems tests
94
- -- JRUBY-4075: Net::SSH gives OpenSSL::Cipher::CipherError "No message
95
- available"
96
- -- JRUBY-4076: Net::SSH padding error using 3des-cbc on Solaris
97
- -- JRUBY-4541: jruby-openssl doesn't load on App Engine.
98
- -- JRUBY-4077: Net::SSH "all authorization methods failed" Solaris -> Solaris
99
- -- JRUBY-4535: Issues with the BouncyCastle provider
100
- -- JRUBY-4510: JRuby-OpenSSL crashes when JCE fails a initialise bcprov
101
- -- JRUBY-4343: Update BouncyCastle jar to upstream version; jdk14-139 ->
102
- jdk15-144
103
- - Cipher issues
104
- -- JRUBY-4012: Initialization vector length handled differently than in MRI
105
- (longer IV sequence are trimmed to fit the required)
106
- -- JRUBY-4473: Implemented DSA key generation
107
- -- JRUBY-4472: Cipher does not support RC4 and CAST
108
- -- JRUBY-4577: InvalidParameterException 'Wrong keysize: must be equal to 112 or
109
- 168' for DES3 + SunJCE
110
- - SSL and X.509(PKIX) issues
111
- -- JRUBY-4384: TCP socket connection causes busy loop of SSL server
112
- -- JRUBY-4370: Implement SSLContext#ciphers
113
- -- JRUBY-4688: SSLContext#ciphers does not accept 'DEFAULT'
114
- -- JRUBY-4357: SSLContext#{setup,ssl_version=} are not implemented
115
- -- JRUBY-4397: SSLContext#extra_chain_cert and SSLContext#client_ca
116
- -- JRUBY-4684: SSLContext#verify_depth is ignored
117
- -- JRUBY-4398: SSLContext#options does not affect to SSL sessions
118
- -- JRUBY-4360: Implement SSLSocket#verify_result and dependents
119
- -- JRUBY-3829: SSLSocket#read should clear given buffer before concatenating
120
- (ByteBuffer.java:328:in `allocate': java.lang.IllegalArgumentException when
121
- returning SOAP queries over a certain size)
122
- -- JRUBY-4686: SSLSocket can drop last chunk of data just before inbound channel
123
- close
124
- -- JRUBY-4369: X509Store#verify_callback is not called
125
- -- JRUBY-4409: OpenSSL::X509::Store#add_file corrupts when it includes
126
- certificates which have the same subject (problem with
127
- ruby-openid-apps-discovery (github jruby-openssl issue #2))
128
- -- JRUBY-4333: PKCS#8 formatted privkey read
129
- -- JRUBY-4454: Loading Key file as a Certificate causes NPE
130
- -- JRUBY-4455: calling X509::Certificate#sign for the Certificate initialized
131
- from PEM causes IllegalStateException
132
- - PKCS#7 issues
133
- -- JRUBY-4379: PKCS7#sign failed for DES3 cipher algorithm
134
- -- JRUBY-4428: Allow to use DES-EDE3-CBC in PKCS#7 w/o the Policy Files (rake
135
- test doesn't finish on JDK5 w/o policy files update)
136
- - Misc
137
- -- JRUBY-4574: jruby-openssl deprecation warning cleanup
138
- -- JRUBY-4591: jruby-1.4 support
139
-
140
- == 0.6
141
-
142
- - This is a recommended upgrade to jruby-openssl. A security problem
143
- involving peer certificate verification was found where failed
144
- verification silently did nothing, making affected applications
145
- vulnerable to attackers. Attackers could lead a client application
146
- to believe that a secure connection to a rogue SSL server is
147
- legitimate. Attackers could also penetrate client-validated SSL
148
- server applications with a dummy certificate. Your application would
149
- be vulnerable if you're using the 'net/https' library with
150
- OpenSSL::SSL::VERIFY_PEER mode and any version of jruby-openssl
151
- prior to 0.6. Thanks to NaHi (NAKAMURA Hiroshi) for finding the
152
- problem and providing the fix. See
153
- http://www.jruby.org/2009/12/07/vulnerability-in-jruby-openssl.html
154
- for details.
155
- - This release addresses CVE-2009-4123 which was reserved for the
156
- above vulnerability.
157
- - Many fixes from NaHi, including issues related to certificate
158
- verification and certificate store purpose verification.
159
- - implement OpenSSL::X509::Store#set_default_paths
160
- - MRI compat. fix: OpenSSL::X509::Store#add_file
161
- - Fix nsCertType handling.
162
- - Fix Cipher#key_len for DES-EDE3: 16 should be 24.
163
- - Modified test expectations around Cipher#final.
164
- - Public keys are lazily instantiated when the
165
- X509::Certificate#public_key method is called (Dave Garcia)
166
-
167
- == 0.5.2
168
-
169
- * Multiple bugs fixed:
170
- ** JRUBY-3895 Could not verify server signature with net-ssh against Cygwin
171
- ** JRUBY-3864 jruby-openssl depends on Base64Coder from JvYAMLb
172
- ** JRUBY-3790 JRuby-OpenSSL test_post_connection_check is not passing
173
- ** JRUBY-3767 OpenSSL ssl implementation doesn't support client auth
174
- ** JRUBY-3673 jRuby-OpenSSL does not properly load certificate authority file
175
-
176
- == 0.5.1
177
-
178
- * Multiple fixes by Brice Figureau to get net/ssh working. Requires JRuby 1.3.1
179
- to be 100%
180
- * Fix by Frederic Jean for a character-decoding issue for some certificates
181
-
182
- == 0.5
183
-
184
- * Fixed JRUBY-3614: Unsupported HMAC algorithm (HMACSHA-256)
185
- * Fixed JRUBY-3570: ActiveMerchant's AuthorizeNet Gateway throws OpenSSL Cert
186
- Validation Error, when there should be no error
187
- * Fixed JRUBY-3557 Class cast exception in PKeyRSA.java
188
- * Fixed JRUBY-3468 X.509 certificates: subjectKeyIdentifier corrupted
189
- * Fixed JRUBY-3285 Unsupported HMAC algorithm (HMACSHA1) error when generating
190
- digest
191
- * Misc code cleanup
192
-
193
- == 0.2
194
-
195
- - Enable remaining tests; fix a nil string issue in SSLSocket.sysread
196
- (JRUBY-1888)
197
- - Fix socket buffering issue by setting socket IO sync = true
198
- - Fix bad file descriptor issue caused by unnecessary close (JRUBY-2152)
199
- - Fix AES key length (JRUBY-2187)
200
- - Fix cipher initialization (JRUBY-1100)
201
- - Now, only compatible with JRuby 1.1
202
-
203
- == 0.1.1
204
-
205
- - Fixed blocker issue preventing HTTPS/SSL from working (JRUBY-1222)
206
-
207
- == 0.1
208
-
209
- - PLEASE NOTE: This release is not compatible with JRuby releases earlier than
210
- 1.0.3 or 1.1b2. If you must use JRuby 1.0.2 or earlier, please install the
211
- 0.6 release.
212
- - Release coincides with JRuby 1.0.3 and JRuby 1.1b2 releases
213
- - Simultaneous support for JRuby trunk and 1.0 branch
214
- - Start of support for OpenSSL::BN
215
-
216
- == 0.0.5 and prior
217
-
218
- - Initial versions with maintenance updates