mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* lib/openssl/ssl.rb: Explicitly whitelist the default
SSL/TLS ciphers. Forbid SSLv2 and SSLv3, disable compression by default. Reported by Jeff Hodges. [ruby-core:59829] [Bug #9424] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									9194b220a5
								
							
						
					
					
						commit
						699b209cf8
					
				
					 2 changed files with 50 additions and 4 deletions
				
			
		|  | @ -1,3 +1,11 @@ | |||
| Thu Mar  6 10:33:31 2014  Martin Bosslet  <Martin.Bosslet@gmail.com> | ||||
| 
 | ||||
| 	* lib/openssl/ssl.rb: Explicitly whitelist the default | ||||
| 	  SSL/TLS ciphers. Forbid SSLv2 and SSLv3, disable | ||||
| 	  compression by default. | ||||
| 	  Reported by Jeff Hodges. | ||||
| 	  [ruby-core:59829] [Bug #9424] | ||||
| 
 | ||||
| Wed Mar  5 15:56:18 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org> | ||||
| 
 | ||||
| 	* parse.y (f_arg_asgn): define optional arguments as argument | ||||
|  |  | |||
|  | @ -23,10 +23,48 @@ module OpenSSL | |||
|       DEFAULT_PARAMS = { | ||||
|         :ssl_version => "SSLv23", | ||||
|         :verify_mode => OpenSSL::SSL::VERIFY_PEER, | ||||
|         :ciphers => "ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW", | ||||
|         :options => defined?(OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS) ? | ||||
|           OpenSSL::SSL::OP_ALL & ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS : | ||||
|           OpenSSL::SSL::OP_ALL, | ||||
|         :ciphers => %w{ | ||||
|           ECDHE-ECDSA-AES128-GCM-SHA256 | ||||
|           ECDHE-RSA-AES128-GCM-SHA256 | ||||
|           ECDHE-ECDSA-AES256-GCM-SHA384 | ||||
|           ECDHE-RSA-AES256-GCM-SHA384 | ||||
|           DHE-RSA-AES128-GCM-SHA256 | ||||
|           DHE-DSS-AES128-GCM-SHA256 | ||||
|           DHE-RSA-AES256-GCM-SHA384 | ||||
|           DHE-DSS-AES256-GCM-SHA384 | ||||
|           ECDHE-ECDSA-AES128-SHA256 | ||||
|           ECDHE-RSA-AES128-SHA256 | ||||
|           ECDHE-ECDSA-AES128-SHA | ||||
|           ECDHE-RSA-AES128-SHA | ||||
|           ECDHE-ECDSA-AES256-SHA384 | ||||
|           ECDHE-RSA-AES256-SHA384 | ||||
|           ECDHE-ECDSA-AES256-SHA | ||||
|           ECDHE-RSA-AES256-SHA | ||||
|           DHE-RSA-AES128-SHA256 | ||||
|           DHE-RSA-AES256-SHA256 | ||||
|           DHE-RSA-AES128-SHA | ||||
|           DHE-RSA-AES256-SHA | ||||
|           DHE-DSS-AES128-SHA256 | ||||
|           DHE-DSS-AES256-SHA256 | ||||
|           DHE-DSS-AES128-SHA | ||||
|           DHE-DSS-AES256-SHA | ||||
|           AES128-GCM-SHA256 | ||||
|           AES256-GCM-SHA384 | ||||
|           AES128-SHA256 | ||||
|           AES256-SHA256 | ||||
|           AES128-SHA | ||||
|           AES256-SHA | ||||
|           ECDHE-ECDSA-RC4-SHA | ||||
|           ECDHE-RSA-RC4-SHA | ||||
|           RC4-SHA | ||||
|         }.join(":"), | ||||
|         :options => -> { | ||||
|           opts = OpenSSL::SSL::OP_ALL | ||||
|           opts &= ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS if defined?(OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS) | ||||
|           opts |= OpenSSL::SSL::OP_NO_COMPRESSION if defined?(OpenSSL::SSL::OP_NO_COMPRESSION) | ||||
|           opts |= OpenSSL::SSL::OP_NO_SSLv2 if defined?(OpenSSL::SSL::OP_NO_SSLv2) | ||||
|           opts |= OpenSSL::SSL::OP_NO_SSLv3 if defined?(OpenSSL::SSL::OP_NO_SSLv3) | ||||
|         }.call | ||||
|       } | ||||
| 
 | ||||
|       DEFAULT_CERT_STORE = OpenSSL::X509::Store.new | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 emboss
						emboss