96 static final boolean useCompatibilityMode = Utilities.getBooleanProperty( |
96 static final boolean useCompatibilityMode = Utilities.getBooleanProperty( |
97 "jdk.tls.client.useCompatibilityMode", true); |
97 "jdk.tls.client.useCompatibilityMode", true); |
98 |
98 |
99 // TODO: Please remove after TLS 1.3 draft interop testing |
99 // TODO: Please remove after TLS 1.3 draft interop testing |
100 // delete me |
100 // delete me |
101 static int tls13VN = 0x0304; |
101 static int tls13VN; |
102 |
102 |
103 // Is the extended_master_secret extension supported? |
103 // Is the extended_master_secret extension supported? |
104 static { |
104 static { |
105 boolean supportExtendedMasterSecret = true; |
105 boolean supportExtendedMasterSecret = Utilities.getBooleanProperty( |
106 try { |
106 "jdk.tls.useExtendedMasterSecret", true); |
107 KeyGenerator kg = |
107 if (supportExtendedMasterSecret) { |
|
108 try { |
108 JsseJce.getKeyGenerator("SunTlsExtendedMasterSecret"); |
109 JsseJce.getKeyGenerator("SunTlsExtendedMasterSecret"); |
109 } catch (NoSuchAlgorithmException nae) { |
110 } catch (NoSuchAlgorithmException nae) { |
110 supportExtendedMasterSecret = false; |
111 supportExtendedMasterSecret = false; |
111 } |
112 } |
112 |
113 } |
113 if (supportExtendedMasterSecret) { |
114 useExtendedMasterSecret = supportExtendedMasterSecret; |
114 useExtendedMasterSecret = Utilities.getBooleanProperty( |
|
115 "jdk.tls.useExtendedMasterSecret", true); |
|
116 } else { |
|
117 useExtendedMasterSecret = false; |
|
118 } |
|
119 |
115 |
120 // delete me |
116 // delete me |
121 try { |
117 try { |
122 tls13VN = |
118 tls13VN = |
123 AccessController.doPrivileged( |
119 AccessController.doPrivileged( |