RFR: 8279842: HTTPS Channel Binding support for Java GSS/Kerberos [v6]
Weijun Wang
weijun at openjdk.java.net
Mon Jan 24 15:32:22 UTC 2022
On Mon, 24 Jan 2022 13:36:47 GMT, Michael McMahon <michaelm at openjdk.org> wrote:
>> Hi,
>>
>> This change adds Channel Binding Token (CBT) support to HTTPS (java.net.HttpsURLConnection) when used with the Negotiate (SPNEGO, Kerberos) authentication scheme. When enabled, the implementation preemptively includes a CBT with authentication requests over Kerberos. The feature is enabled as follows:
>>
>> A system property "jdk.spnego.cbt" is defined which can have the values "never" (default), which means the feature is disabled, "always", which means the CBT is included for all https Negotiate authentications, or it can take the form "domain:a,b.c,*.d.com" which is a comma separated list of domains/hosts where the feature is enabled, and disabled everywhere else. In the given example, the CBT would be included in authentication requests for hosts "a", "b.c" and all hosts under the domain "d.com" and all of its sub-domains.
>>
>> A test will be added separately to the implementation.
>>
>> Bug report: https://bugs.openjdk.java.net/browse/JDK-8279842
>>
>> Thanks,
>> Michael
>
> Michael McMahon has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:
>
> - fixed failing test issue and update for latest comments
> - Merge branch 'master' into spnego
> - added root cause to NamingException
> - more tidy-up
> - removed sasl module dependency and added SaslException cause
> - changes after first review round
> - cleanup but still no test. Will be added in closed repo
> - First version of fix. No test and feature enabled always.
src/java.base/share/classes/sun/security/util/TlsChannelBinding.java line 100:
> (failed to retrieve contents of file, check the PR for context)
I think this method should stay here. Suppose one day the CBT type is configurable for HTTPS we'll have to get it back. Of course we will need to update the message to avoid talking about LDAP.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7065
More information about the core-libs-dev
mailing list