@@ -53,24 +53,40 @@ public class SSL {
53
53
public static final long OP_ALL = 0x00000FFFL ;
54
54
public static final long OP_NO_TICKET = 0x00004000L ;
55
55
public static final long OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION = 0x00010000L ;
56
+ public static final long OP_NO_COMPRESSION = 0x00020000L ;
56
57
public static final long OP_SINGLE_ECDH_USE = 0x00080000L ;
57
58
public static final long OP_SINGLE_DH_USE = 0x00100000L ;
58
59
public static final long OP_EPHEMERAL_RSA = 0x00200000L ;
59
60
public static final long OP_CIPHER_SERVER_PREFERENCE = 0x00400000L ;
60
61
public static final long OP_TLS_ROLLBACK_BUG = 0x00800000L ;
62
+
61
63
public static final long OP_NO_SSLv2 = 0x01000000L ; // supported
62
64
public static final long OP_NO_SSLv3 = 0x02000000L ; // supported
63
65
public static final long OP_NO_TLSv1 = 0x04000000L ; // supported
64
- public static final long OP_PKCS1_CHECK_1 = 0x08000000L ;
65
- public static final long OP_PKCS1_CHECK_2 = 0x10000000L ;
66
- public static final long OP_NETSCAPE_CA_DN_BUG = 0x20000000L ;
67
- public static final long OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG = 0x40000000L ;
68
-
69
- public static final int SSL2_VERSION = 1 ;
70
- public static final int SSL3_VERSION = 768 ;
71
- public static final int TLS1_VERSION = 769 ;
72
- public static final int TLS1_1_VERSION = 770 ;
73
- public static final int TLS1_2_VERSION = 771 ;
66
+ public static final long OP_NO_TLSv1_2 = 0x08000000L ;
67
+ public static final long OP_NO_TLSv1_1 = 0x10000000L ;
68
+ public static final long OP_NO_TLSv1_3 = 0x20000000L ;
69
+
70
+ // define SSL_OP_NO_SSL_MASK (SSL_OP_NO_SSLv3|SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2|SSL_OP_NO_TLSv1_3)
71
+
72
+ /* Deprecated in OpenSSL 1.0.1. */
73
+ static final long OP_PKCS1_CHECK_1 = 0x08000000L ;
74
+ /* Deprecated in OpenSSL 1.0.1. */
75
+ static final long OP_PKCS1_CHECK_2 = 0x10000000L ;
76
+ /* Deprecated in OpenSSL 1.1.0. */
77
+ static final long OP_NETSCAPE_CA_DN_BUG = 0x20000000L ;
78
+ /* Deprecated in OpenSSL 1.1.0. */
79
+ static final long OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG = 0x40000000L ;
80
+
81
+ public static final int SSL2_VERSION = 0x0002 ;
82
+ public static final int SSL3_VERSION = 0x0300 ;
83
+ public static final int TLS1_VERSION = 0x0301 ;
84
+ public static final int TLS1_1_VERSION = 0x0302 ;
85
+ public static final int TLS1_2_VERSION = 0x0303 ;
86
+ /* OpenSSL 1.1.1 */
87
+ public static final int TLS1_3_VERSION = 0x0304 ;
88
+
89
+ // define TLS_MAX_VERSION TLS1_3_VERSION
74
90
75
91
private static final String JSSE_TLS_ephemeralDHKeySize = "jdk.tls.ephemeralDHKeySize" ;
76
92
private static final String JSSE_TLS_ephemeralDHKeySize_default = "matched" ;
@@ -142,6 +158,7 @@ static void createSSL(final Ruby runtime, final RubyModule OpenSSL, final RubyCl
142
158
SSL .setConstant ("OP_ALL" , runtime .newFixnum (OP_ALL ));
143
159
SSL .setConstant ("OP_NO_TICKET" , runtime .newFixnum (OP_NO_TICKET ));
144
160
SSL .setConstant ("OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION" , runtime .newFixnum (OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION ));
161
+ SSL .setConstant ("OP_NO_COMPRESSION" , runtime .newFixnum (OP_NO_COMPRESSION ));
145
162
SSL .setConstant ("OP_SINGLE_ECDH_USE" , runtime .newFixnum (OP_SINGLE_ECDH_USE ));
146
163
SSL .setConstant ("OP_SINGLE_DH_USE" , runtime .newFixnum (OP_SINGLE_DH_USE ));
147
164
SSL .setConstant ("OP_EPHEMERAL_RSA" , runtime .newFixnum (OP_EPHEMERAL_RSA ));
@@ -150,6 +167,9 @@ static void createSSL(final Ruby runtime, final RubyModule OpenSSL, final RubyCl
150
167
SSL .setConstant ("OP_NO_SSLv2" , runtime .newFixnum (OP_NO_SSLv2 ));
151
168
SSL .setConstant ("OP_NO_SSLv3" , runtime .newFixnum (OP_NO_SSLv3 ));
152
169
SSL .setConstant ("OP_NO_TLSv1" , runtime .newFixnum (OP_NO_TLSv1 ));
170
+ SSL .setConstant ("OP_NO_TLSv1_1" , runtime .newFixnum (OP_NO_TLSv1_1 ));
171
+ SSL .setConstant ("OP_NO_TLSv1_2" , runtime .newFixnum (OP_NO_TLSv1_2 ));
172
+ //SSL.setConstant("OP_NO_TLSv1_3", runtime.newFixnum(OP_NO_TLSv1_3));
153
173
SSL .setConstant ("OP_PKCS1_CHECK_1" , runtime .newFixnum (OP_PKCS1_CHECK_1 ));
154
174
SSL .setConstant ("OP_PKCS1_CHECK_2" , runtime .newFixnum (OP_PKCS1_CHECK_2 ));
155
175
SSL .setConstant ("OP_NETSCAPE_CA_DN_BUG" , runtime .newFixnum (OP_NETSCAPE_CA_DN_BUG ));
@@ -160,6 +180,7 @@ static void createSSL(final Ruby runtime, final RubyModule OpenSSL, final RubyCl
160
180
SSL .setConstant ("TLS1_VERSION" , runtime .newFixnum (TLS1_VERSION ));
161
181
SSL .setConstant ("TLS1_1_VERSION" , runtime .newFixnum (TLS1_1_VERSION ));
162
182
SSL .setConstant ("TLS1_2_VERSION" , runtime .newFixnum (TLS1_2_VERSION ));
183
+ //SSL.setConstant("TLS1_3_VERSION", runtime.newFixnum(TLS1_3_VERSION));
163
184
164
185
SSLContext .createSSLContext (runtime , SSL );
165
186
SSLSocket .createSSLSocket (runtime , SSL );
0 commit comments