Skip to content

Commit c90d284

Browse files
committed
Merge pull request #91 from jgaxn/cipherstrings_all_ecdhe
Make ALL cipher string match ECDHE ciphers
2 parents eb200e5 + 7284d27 commit c90d284

File tree

2 files changed

+44
-2
lines changed

2 files changed

+44
-2
lines changed

src/main/java/org/jruby/ext/openssl/CipherStrings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,7 @@ private static Collection<Def> matchingPattern(
598598
static {
599599
Definitions = new HashMap<String, Def>( 48, 1 );
600600
// TODO review base on OpenSSL's static const SSL_CIPHER cipher_aliases[] ?!
601-
Definitions.put(SSL_TXT_ALL,new Def(0,SSL_TXT_ALL, 0,SSL_ALL & ~SSL_eNULL & ~SSL_kECDH & ~SSL_kECDHE, SSL_ALL ,0,0,0,SSL_ALL,SSL_ALL));
601+
Definitions.put(SSL_TXT_ALL,new Def(0,SSL_TXT_ALL, 0,SSL_ALL & ~SSL_eNULL, SSL_ALL ,0,0,0,SSL_ALL,SSL_ALL));
602602
Definitions.put(SSL_TXT_CMPALL,new Def(0,SSL_TXT_CMPALL,0,SSL_eNULL,0,0,0,0,SSL_ENC_MASK,0));
603603
Definitions.put(SSL_TXT_CMPDEF,new Def(0,SSL_TXT_CMPDEF,0,SSL_ADH, 0,0,0,0,SSL_AUTH_MASK,0));
604604
Definitions.put(SSL_TXT_kKRB5,new Def(0,SSL_TXT_kKRB5,0,SSL_kKRB5,0,0,0,0,SSL_MKEY_MASK,0));

src/test/ruby/ssl/test_context.rb

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,46 @@ def test_context_set_ssl_version
102102
assert_raises(TypeError) { context.ssl_version = 12 }
103103
end
104104

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

Comments
 (0)