RFR: 8193892: Impact of noncloneable MessageDigest implementation

Seán Coffey sean.coffey at oracle.com
Fri Feb 23 21:30:14 UTC 2018


Thanks for the review Brad. Yes - I'll make those changes before pushing.

regards,
Sean.


On 23/02/2018 20:14, Brad Wetmore wrote:
> Minor comments.  I'm ok with leaving as is, but this seems cleaner.
>
> MyProvider.java
> ---------------
> Would prefer to use the non-deprecated super call.
>
> *Digest.java
> ------------
> Would you consider making these 3 duplicate classes into a single 
> class, with the three public derived classes within?  And then update 
> the MyProvider entries with DigestBase${MD5,SHA,SHA256}. i.e.
>
> import java.security.*;
>
> class DigestBase extends MessageDigestSpi {
>
>     private MessageDigest digest = null;
>
>     public DigestBase(String alg, String provider) throws Exception {
>         digest = MessageDigest.getInstance(alg, provider);
>     }
>
>     @Override
>     protected void engineUpdate(byte input) {
>         digest.update(input);
>     }
>
>     @Override
>     protected void engineUpdate(byte[] input, int offset, int len) {
>         digest.update(input, offset, len);
>     }
>
>     @Override
>     protected byte[] engineDigest() {
>         return digest.digest();
>     }
>
>     @Override
>     protected void engineReset() {
>         digest.reset();
>     }
>
>     public static final class MD5 extends DigestBase {
>         public MD5() throws Exception {
>             super("MD5", "SUN");
>         }
>     }
>
>     public static final class SHA extends DigestBase {
>         public SHA() throws Exception {
>             super("SHA", "SUN");
>         }
>     }
>
>     public static final class SHA256 extends DigestBase {
>         public SHA256() throws Exception {
>             super("SHA-256", "SUN");
>         }
>     }
> }
>
> Thanks, sorry for the delay.
>
> Brad
>
>
>
> On 2/15/2018 7:40 AM, Xuelei Fan wrote:
>> Looks fine to me.  Thanks!
>>
>> Xuelei
>>
>> On 2/15/2018 1:04 AM, Seán Coffey wrote:
>>> A reminder for this review..
>>>
>>> regards,
>>> Sean.
>>>
>>>
>>> On 09/02/2018 16:25, Seán Coffey wrote:
>>>> Looking to push a new test which helps test CloneableDigest code. 
>>>> It's something that arose during JDK-8193683 fix.
>>>>
>>>> The test was contributed by Brad Wetmore. I've converted it to use 
>>>> the SSLSocketTemplate.
>>>>
>>>> JBS : https://bugs.openjdk.java.net/browse/JDK-8193892
>>>> webrev : http://cr.openjdk.java.net/~coffeys/webrev.8193892/webrev/
>>>>
>>>



More information about the security-dev mailing list