Skip to content

Commit 34aaa64

Browse files
cheisterkares
authored andcommitted
add TLSv1_1_client, TLSv1_1_server, TLSv1_2_client and TLSv1_2_server options to ssl_version
1 parent 6d3eba1 commit 34aaa64

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,17 @@ public class SSLContext extends RubyObject {
136136
ENABLED_PROTOCOLS.put("TLS", new String[] { "TLSv1", "TLSv1.1", "TLSv1.2" });
137137

138138
SSL_VERSION_OSSL2JSSE.put("TLSv1.1", "TLSv1.1");
139+
SSL_VERSION_OSSL2JSSE.put("TLSv1_1_server", "TLSv1.1");
140+
SSL_VERSION_OSSL2JSSE.put("TLSv1_1_client", "TLSv1.1");
139141
ENABLED_PROTOCOLS.put("TLSv1.1", new String[] { "TLSv1.1" });
140142

141143
SSL_VERSION_OSSL2JSSE.put("TLSv1_1", "TLSv1.1"); // supported on MRI 2.x
142144
SSL_VERSION_OSSL2JSSE.put("TLSv1_2", "TLSv1.2"); // supported on MRI 2.x
143145
ENABLED_PROTOCOLS.put("TLSv1.2", new String[] { "TLSv1.2" });
144146

145147
SSL_VERSION_OSSL2JSSE.put("TLSv1.2", "TLSv1.2"); // just for completeness
148+
SSL_VERSION_OSSL2JSSE.put("TLSv1_2_server", "TLSv1.2");
149+
SSL_VERSION_OSSL2JSSE.put("TLSv1_2_client", "TLSv1.2");
146150
}
147151

148152
private static ObjectAllocator SSLCONTEXT_ALLOCATOR = new ObjectAllocator() {
@@ -191,6 +195,9 @@ public static void createSSLContext(final Ruby runtime, final RubyModule SSL) {
191195
SSLContext.defineConstant("METHODS", methods);
192196
// in 1.8.7 as well as 1.9.3 :
193197
// [:TLSv1, :TLSv1_server, :TLSv1_client, :SSLv3, :SSLv3_server, :SSLv3_client, :SSLv23, :SSLv23_server, :SSLv23_client]
198+
// in 2.0.0 :
199+
// [:TLSv1, :TLSv1_server, :TLSv1_client, :TLSv1_2, :TLSv1_2_server, :TLSv1_2_client, :TLSv1_1, :TLSv1_1_server,
200+
// :TLSv1_1_client, :SSLv3, :SSLv3_server, :SSLv3_client, :SSLv23, :SSLv23_server, :SSLv23_client]
194201

195202
SSLContext.setConstant("SESSION_CACHE_OFF", runtime.newFixnum(SESSION_CACHE_OFF));
196203
SSLContext.setConstant("SESSION_CACHE_CLIENT", runtime.newFixnum(SESSION_CACHE_CLIENT));

src/test/ruby/ssl/test_context.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ def test_methods
1212

1313
assert ! methods.include?(:SSLv2)
1414
assert ! methods.include?(:SSLv2_client)
15+
16+
assert methods.include?(:'TLSv1_1_client')
17+
assert methods.include?(:'TLSv1_1_server')
1518
end
1619

1720
def test_context_new

0 commit comments

Comments
 (0)