This looks good. Just a few comments:

- please add a release note subtask and open a separate docs issue to document the new etypes - does this need a CSR? I would think it does because it is adding support for a new RFC and etypes

* AesSha2DkCrypto.java

- why does stringToKey(char[] password, String salt, byte[] s2kparams) swallow exceptions but stringToKey(char[] secret, byte[] salt, byte[] params) does not?

- can you verify if the new proposed KDF API could be used for the key-derivation parts in the future?

--Sean

On 11/1/17 8:38 PM, Weijun Wang wrote:
Ping again.

On Sep 18, 2017, at 5:15 PM, Weijun Wang <weijun.w...@oracle.com> wrote:

Hi All

Please take a review at

   http://cr.openjdk.java.net/~weijun/8014628/webrev.00/

Most changes are just duplicating existing classes/methods/fields on AES-SHA1 
etypes. One day we might do some refactoring to simplify this.

Real changes:

- AesSha2DkCrypto.java:

1. A new dr() method, explained in https://tools.ietf.org/html/rfc8009#section-3

2. etype name used in stringToKey(), explained in 
https://tools.ietf.org/html/rfc8009#section-4

3. A separate deriveKey() method. Not only it reduces duplicated codes, but it 
is also used in KerberosAesSha2.java the test.

- Config.java:

Previous AES-SHA1 etypes now have aliases aes128-sha1 and aes256-sha1.

- EType.java:

The default enctypes set now includes the new aes-sha2 etypes, but aes-sha1 
etypes are more preferred. This is also what MIT krb5 is doing.

- KerberosAesSha2.java

Test vectors in https://tools.ietf.org/html/rfc8009#appendix-A.

Thanks
Max


Reply via email to