RFR 8038089: TLS optional support for Kerberos cipher suites needs to be re-examine
Xuelei Fan
xuelei.fan at oracle.com
Wed May 27 08:50:31 UTC 2015
src/java.base/share/classes/sun/security/ssl/ClientHandshaker.java
----------------------
- } else if (keyExchange == K_KRB5 || keyExchange == K_KRB5_EXPORT) {
+ } else if (ClientKeyExchangeService.find(keyExchange.name) != null) {
ClientKeyExchangeService is a pretty common name.
"ClientKeyExchangeService.find(keyExchange.name)" does not sound like it
is for KRB5 only at present. For some similar update in this fix, the
code reader may be confusing if he/she does not know the history of this
fix. Would you mind add a comment like "For external KRB5 cipher suite
at present"?
src/java.base/share/classes/sun/security/ssl/JsseJce.java
-----------------
- kerberosAvailable = p != null;
+ kerberosAvailable = (p != null);
Easier to read.
Otherwise, looks fine to me.
Xuelei
On 5/27/2015 12:45 PM, Weijun Wang wrote:
> Oh, not the last one. Here is a new one that uses String instead of
> CipherSuite.KeyExchange in the service interface. 1) below is thus
> resolved.
>
> http://cr.openjdk.java.net/~weijun/8038089/webrev.07/
>
> Thanks
> Max
>
> On 5/26/2015 11:32 AM, Weijun Wang wrote:
>> This is the latest webrev of this bug
>>
>> http://cr.openjdk.java.net/~weijun/8038089/webrev.06/
>>
>> No significant change from the previous one, mainly rebase.
>>
>> There are some issues which need changes inside JSSE. I'd like to file
>> another bug for them.
>>
>> 1. JsseJce.java still uses core reflection to detect whether Kerberos
>> support is available. It cannot call ClientKeyExchangeService.find()
>> because there is a circular initialization problem between it and
>> CipherSuite.
>>
>> 2. CipherSuite.java still contains hard coded krb5-related KeyExchange
>> and CipherSuite values. These should be moved into plugin.
>>
>> Finally, a lot of you speak out that RFC 2712 is dead and we needn't
>> support them. Thanks for the advice. However, this code change is mainly
>> a refactoring of existing codes because in jdk9 we will have to separate
>> TLS and Kerberos into different modules, and we cannot simply drop the
>> feature.
>>
>> Thanks
>> Max
>>
>> On 9/16/2014 9:31 AM, Wang Weijun wrote:
>>> Hi Xuelei
>>>
>>> Please review the latest code change at
>>>
>>> http://cr.openjdk.java.net/~weijun/8038089/webrev.04/
>>>
>>> Compared with webrev.03, only the way the provider is loaded is
>>> changed, which is the static block on lines 50-71 of Krb5Helper.java.
>>>
>>> Thanks
>>> Max
>>>
More information about the security-dev
mailing list