Code Review Request: TLS 1.3 Implementation
Valerie Peng
valerie.peng at oracle.com
Wed Jun 20 22:51:49 UTC 2018
On 6/20/2018 9:58 AM, Xuelei Fan wrote:
> On 6/19/2018 7:07 PM, Valerie Peng wrote:
>> Hi Xuelei,
>>
>>
>> <src/java.base/share/classes/sun/security/ssl/SSLCredentials.java>
>> <src/java.base/share/classes/sun/security/ssl/SSLPossessionGenerator.java>
>>
>> <src/java.base/share/classes/sun/security/ssl/SSLPossession.java>
>> <src/java.base/share/classes/sun/security/ssl/SSLKeyDerivationGenerator.java>
>>
>> These look fine.
>>
>> <src/java.base/share/classes/sun/security/ssl/SSLKeyAgreement.java>
>> - kind of strange to see SSLKeyAgreement extends
>> SSLKeyAgreementGenerator... Normally, the naming convention implies
>> one generates the other.
>>
> The name should be more like SSLKeyAgreementKeyDerivationGenerator.
> It is too long, so I used a short one, SSLKeyAgreementGenerator. But
> yes, it is confusing. Maybe, SSLKAKDGenerator?
I am not too good at naming either. Given the complexity of TLS
implementation, maybe we don't concatenate KeyAgreementKeyDerivation,
but just use a new term like KeyNegotiation or KeyExchange? Just food
for thought.
Thanks,
Valerie
>
>> <src/java.base/share/classes/sun/security/ssl/SSLKeyAgreementGenerator.java>
>>
>> - same method name as in SSLKeyDerivationGenerator. I assume that
>> this is intentional as both are meant to derive keys, but with
>> different parameters?
>>
> Yes. SSLKeyAgreementGenerator is used for key agreement key
> generation for public keys (DHE/ECDHE/RSA). While
> SSLKeyDerivationGenerator is used for secret key derivation with
> shared secrets (with an additional 'secretKey' parameter). Two
> classes are defined just in case the two different functions are mixed.
>
> Xuelei
>
>> Still have a few more left to review.
>> Valerie
>>
>> On 5/25/2018 4:45 PM, Xuelei Fan wrote:
>>> Hi,
>>>
>>> I'd like to invite you to review the TLS 1.3 implementation. I
>>> appreciate it if I could have compatibility and specification
>>> feedback before May 31, 2018, and implementation feedback before
>>> June 7, 2018.
>>>
>>> Here is the webrev:
>>> http://cr.openjdk.java.net/~xuelei/8196584/webrev-full.00
>>>
>>> The formal TLS 1.3 specification is not finalized yet, although it
>>> had been approved to be a standard. The implementation is based on
>>> the draft version 28:
>>> https://tools.ietf.org/html/draft-ietf-tls-tls13-28
>>>
>>> For the overall description of this enhancement, please refer to JEP
>>> 332:
>>> http://openjdk.java.net/jeps/332
>>>
>>> For the compatibility and specification update, please refer to CSR
>>> 8202625:
>>> https://bugs.openjdk.java.net/browse/JDK-8202625
>>>
>>> Note that we are using the sandbox for the development right now.
>>> For more information, please refer to Bradford's previous email:
>>>
>>> http://mail.openjdk.java.net/pipermail/security-dev/2018-May/017139.html
>>>
>>>
>>> Thanks & Regards,
>>> Xuelei
>>
More information about the security-dev
mailing list