@@ -106,15 +106,86 @@ def test_context_ciphers
106
106
context = OpenSSL ::SSL ::SSLContext . new
107
107
context . ciphers = "ALL"
108
108
109
- all_ciphers = context . ciphers . map { |cipher_array | cipher_array [ 0 ] }
110
-
111
- expected_ciphers = [ "ECDHE-ECDSA-AES256-SHA" ,
112
- "ECDHE-RSA-AES256-SHA" ,
113
- "AES256-SHA" ,
114
- "ECDH-ECDSA-AES256-SHA" ,
115
- "ECDH-RSA-AES256-SHA" ,
116
- "DHE-RSA-AES256-SHA" ,
117
- "DHE-DSS-AES256-SHA" ,
109
+ all_ciphers = context . ciphers . map { |cipher_array | cipher_array [ 0 ] }
110
+
111
+ # Java 8 (1.8.0_112-b15) :
112
+ # Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
113
+ # Ignoring unavailable cipher suite: TLS_DH_anon_WITH_AES_256_CBC_SHA
114
+ # Ignoring unavailable cipher suite: TLS_DH_anon_WITH_AES_256_CBC_SHA256
115
+ # Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA
116
+ # Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
117
+ # Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
118
+ # Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
119
+ # Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256
120
+ # Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA
121
+ # Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
122
+ # Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
123
+ # Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_GCM_SHA384
124
+ # Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
125
+ # Ignoring unavailable cipher suite: TLS_ECDH_anon_WITH_AES_256_CBC_SHA
126
+ # Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
127
+ # Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
128
+ # Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
129
+ # Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
130
+ # Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
131
+ # Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
132
+ # Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
133
+ # Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA
134
+ # Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
135
+ # Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
136
+ # Ignoring unavailable cipher suite: TLS_DH_anon_WITH_AES_256_GCM_SHA384
137
+ # Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
138
+ # Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA
139
+ # Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
140
+ # Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
141
+ # Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
142
+ # Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256
143
+ # Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA
144
+ # Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
145
+ # Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
146
+ # Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_GCM_SHA384
147
+ # Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
148
+ # Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
149
+ # Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
150
+ # Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
151
+ # Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
152
+ # Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
153
+ # Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
154
+ # Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
155
+ # Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA
156
+ # Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
157
+ # Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
158
+ # Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
159
+ # Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA
160
+ # Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
161
+ # Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
162
+ # Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
163
+ # Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_CBC_SHA256
164
+ # Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA
165
+ # Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
166
+ # Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
167
+ # Ignoring unavailable cipher suite: TLS_RSA_WITH_AES_256_GCM_SHA384
168
+ # Ignoring unavailable cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
169
+ # Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
170
+ # Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
171
+ # Ignoring unavailable cipher suite: TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
172
+ # Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
173
+ # Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
174
+ # Ignoring unavailable cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
175
+ # Ignoring unavailable cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
176
+ # Ignoring unavailable cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA
177
+ # Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
178
+ # Ignoring unavailable cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
179
+
180
+ java_8 = ( ENV_JAVA [ 'java.version' ] == '1.8' ) || nil
181
+
182
+ expected_ciphers = [ java_8 && "ECDHE-ECDSA-AES256-SHA" ,
183
+ java_8 && "ECDHE-RSA-AES256-SHA" ,
184
+ java_8 && "AES256-SHA" ,
185
+ java_8 && "ECDH-ECDSA-AES256-SHA" ,
186
+ java_8 && "ECDH-RSA-AES256-SHA" ,
187
+ java_8 && "DHE-RSA-AES256-SHA" ,
188
+ java_8 && "DHE-DSS-AES256-SHA" ,
118
189
"ECDHE-ECDSA-AES128-SHA256" ,
119
190
"ECDHE-RSA-AES128-SHA256" ,
120
191
"ECDH-ECDSA-AES128-SHA256" ,
@@ -133,15 +204,19 @@ def test_context_ciphers
133
204
"ECDH-RSA-DES-CBC3-SHA" ,
134
205
"EDH-RSA-DES-CBC3-SHA" ,
135
206
"EDH-DSS-DES-CBC3-SHA" ,
136
- "AECDH-AES256-SHA" ,
137
- "ADH-AES256-SHA" ,
207
+ java_8 && "AECDH-AES256-SHA" ,
208
+ java_8 && "ADH-AES256-SHA" ,
138
209
"AECDH-AES128-SHA" ,
139
210
"ADH-AES128-SHA" ,
140
211
"AECDH-DES-CBC3-SHA" ,
141
212
"ADH-DES-CBC3-SHA" ]
142
213
143
- expected_ciphers . each do |cipher |
144
- assert all_ciphers . include? ( cipher ) , "#{ cipher } should have been included"
145
- end
214
+ #expected_ciphers.compact.each do |cipher|
215
+ # assert all_ciphers.include?(cipher), "#{cipher} should have been included"
216
+ #end
217
+
218
+ diff = ( expected_ciphers - all_ciphers ) . compact
219
+ assert_equal [ ] , diff
220
+
146
221
end if RUBY_VERSION > '1.9'
147
222
end
0 commit comments