@@ -102,4 +102,46 @@ def test_context_set_ssl_version
102
102
assert_raises ( TypeError ) { context . ssl_version = 12 }
103
103
end
104
104
105
- end
105
+ def test_context_ciphers
106
+ context = OpenSSL ::SSL ::SSLContext . new
107
+ context . ciphers = "ALL"
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" ,
118
+ "ECDHE-ECDSA-AES128-SHA256" ,
119
+ "ECDHE-RSA-AES128-SHA256" ,
120
+ "ECDH-ECDSA-AES128-SHA256" ,
121
+ "ECDH-RSA-AES128-SHA256" ,
122
+ "ECDHE-ECDSA-AES128-SHA" ,
123
+ "ECDHE-RSA-AES128-SHA" ,
124
+ "AES128-SHA" ,
125
+ "ECDH-ECDSA-AES128-SHA" ,
126
+ "ECDH-RSA-AES128-SHA" ,
127
+ "DHE-RSA-AES128-SHA" ,
128
+ "DHE-DSS-AES128-SHA" ,
129
+ "ECDHE-ECDSA-DES-CBC3-SHA" ,
130
+ "ECDHE-RSA-DES-CBC3-SHA" ,
131
+ "DES-CBC3-SHA" ,
132
+ "ECDH-ECDSA-DES-CBC3-SHA" ,
133
+ "ECDH-RSA-DES-CBC3-SHA" ,
134
+ "EDH-RSA-DES-CBC3-SHA" ,
135
+ "EDH-DSS-DES-CBC3-SHA" ,
136
+ "AECDH-AES256-SHA" ,
137
+ "ADH-AES256-SHA" ,
138
+ "AECDH-AES128-SHA" ,
139
+ "ADH-AES128-SHA" ,
140
+ "AECDH-DES-CBC3-SHA" ,
141
+ "ADH-DES-CBC3-SHA" ]
142
+
143
+ expected_ciphers . each do |cipher |
144
+ assert all_ciphers . include? ( cipher ) , "#{ cipher } should have been included"
145
+ end
146
+ end if RUBY_VERSION > '1.9'
147
+ end
0 commit comments