-
Enhancement
-
Resolution: Fixed
-
P3
-
None
-
b08
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8284119 | 17.0.4-oracle | Prajwal Kumaraswamy | P3 | Resolved | Fixed | b03 |
JDK-8284766 | 17.0.4 | Martin Doerr | P3 | Resolved | Fixed | b01 |
JDK-8290446 | 15.0.9 | Olga Mikhaltcova | P3 | Resolved | Fixed | b01 |
JDK-8290448 | 13.0.13 | Olga Mikhaltcova | P3 | Resolved | Fixed | b01 |
JDK-8284655 | 11.0.16-oracle | Prajwal Kumaraswamy | P3 | Resolved | Fixed | b03 |
JDK-8286418 | 11.0.16 | Martin Doerr | P3 | Resolved | Fixed | b02 |
JDK-8285424 | 8u341 | Prajwal Kumaraswamy | P3 | Resolved | Fixed | b04 |
JDK-8287933 | 8u333 | Prajwal Kumaraswamy | P3 | Closed | Fixed | b32 |
In such a case, HTTPS connection must support channel binding, with WWW-Authenticate: Negotiate {token generated with channel binding info} in the request header.
Ex.
On Microsoft 2019 standard server, with CES installed, Microsoft provides the option to enable EPA (Channel binding is mandatory).
In such a case, end user can connect to server via HTTPS, from a token generated via GSSContext as below.
HttpsURLConnection httpsConnection = (HttpsURLConnection) targetUrl.openConnection();
httpsConnection.setRequestProperty("Authorization", "Negotiate " + token);
As of now, the only way to get this code working is to set channel binding in GSSContext using TlsChannelBinding and TlsChannelBindingImpl
// Sets CBT
X509Certificate cert = getX509ServerCertificate("C:\\Users\\oracle\\Downloads\\chbindpgms","cacer_ie.cer");
TlsChannelBinding tlsCB = TlsChannelBinding.create(cert);
clientContext.setChannelBinding(new TlsChannelBindingImpl(tlsCB.getData()));
However both TlsChannelBindingImpl and TlsChannelBinding is not visible for other modules and also we need a fix similar to that of
- backported by
-
JDK-8284119 HTTPS Channel Binding support for Java GSS/Kerberos
- Resolved
-
JDK-8284655 HTTPS Channel Binding support for Java GSS/Kerberos
- Resolved
-
JDK-8284766 HTTPS Channel Binding support for Java GSS/Kerberos
- Resolved
-
JDK-8285424 HTTPS Channel Binding support for Java GSS/Kerberos
- Resolved
-
JDK-8286418 HTTPS Channel Binding support for Java GSS/Kerberos
- Resolved
-
JDK-8290446 HTTPS Channel Binding support for Java GSS/Kerberos
- Resolved
-
JDK-8290448 HTTPS Channel Binding support for Java GSS/Kerberos
- Resolved
-
JDK-8287933 HTTPS Channel Binding support for Java GSS/Kerberos
- Closed
- csr for
-
JDK-8280581 HTTPS Channel Binding support for Java GSS/Kerberos
- Closed
- relates to
-
JDK-8279520 SPNEGO has not passed channel binding info into the underlying mechanism
- Closed
-
JDK-8282293 Domain value for system property jdk.https.negotiate.cbt should be case-insensitive
- Closed
-
JDK-8282297 Support EAP over NTLM for HTTPS Channel Binding
- Open
-
JDK-8282298 Standard retry count for credential failure need reconsideration
- Open
-
JDK-8293665 Document the jdk.https.negotiate.cbt property
- Resolved
- links to
-
Commit openjdk/jdk11u-dev/60588db0
-
Commit openjdk/jdk13u-dev/012b781d
-
Commit openjdk/jdk15u-dev/0e09ba92
-
Commit openjdk/jdk17u-dev/d67ca11f
-
Commit openjdk/jdk/de3113b9
-
Review openjdk/jdk11u-dev/1065
-
Review openjdk/jdk13u-dev/371
-
Review openjdk/jdk15u-dev/234
-
Review openjdk/jdk17u-dev/349
-
Review openjdk/jdk/7065