RFR: 8281561: Disable http DIGEST mechanism with MD5 by default
Jaikiran Pai
jpai at openjdk.java.net
Fri Mar 4 14:23:06 UTC 2022
On Fri, 4 Mar 2022 09:37:21 GMT, Michael McMahon <michaelm at openjdk.org> wrote:
> Hi,
>
> Could I get the following change reviewed please, which is to disable the MD5 message digest algorithm by default in the HTTP Digest authentication mechanism? The algorithm can be opted into by setting a new system property "http.auth.digest.reEnabledAlgs" to include the value MD5. The change also updates the Digest authentication implementation to use some of the more secure features defined in RFC7616, such as username hashing and additional digest algorithms like SHA256 and SHA512-256.
>
> - Michael
src/java.base/share/classes/sun/net/www/protocol/http/DigestAuthentication.java line 584:
> 582: boolean truncate256 = false;
> 583:
> 584: if (algorithm.equals("SHA-512-256")) {
It appears that the incoming param `algorithm` can be of any case. In some other places like the `validateAlgorithm`, this `algorithm` value has been first converted to an uppercase value and then used for additional checks. Should a similar upper case conversion be done here before this equality check? Perhaps, we should convert this to upper case once and then pass it around to these `validateAlgorithm` and `computeUserhash` methods?
-------------
PR: https://git.openjdk.java.net/jdk/pull/7688
More information about the net-dev
mailing list