MD5 Already broken 10 places See details
HTTP Digest authentication
An HTTP Digest authentication implementation. RFC 7616 Digest is built on MD5 in its widely deployed form. This is not a quantum question: it is weak today and depends entirely on the TLS underneath it. HTTP Basic is deliberately not matched - it is base64 and contains no cryptography to inventory.
This is already unsafe today, with no quantum computer involved. Practical chosen-prefix collisions exist; MD5 has no remaining security as a digest.
What to do. Move to a token-based scheme. Where Digest must remain, use the SHA-256 variant.
-
httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/H2AsyncClientBuilder.java:948
.register(StandardAuthScheme.DIGEST, DigestSchemeFactory.INSTANCE) -
httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/HttpAsyncClientBuilder.java:1239
.register(StandardAuthScheme.DIGEST, DigestSchemeFactory.INSTANCE) -
httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/DigestScheme.java:90
public class DigestScheme implements AuthScheme, Serializable { -
httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/DigestSchemeFactory.java:46
public class DigestSchemeFactory implements AuthSchemeFactory { -
httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/HttpClientBuilder.java:1077
.register(StandardAuthScheme.DIGEST, DigestSchemeFactory.INSTANCE) -
httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ProxyClient.java:117
.register(StandardAuthScheme.DIGEST, DigestSchemeFactory.INSTANCE) -
httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientPreemptiveDigestAuthentication.java:74
test path
if (authScheme instanceof DigestScheme) { -
httpclient5/src/test/java/org/apache/hc/client5/http/impl/TestAuthenticationStrategy.java:103
test path
.register(StandardAuthScheme.DIGEST, DigestSchemeFactory.INSTANCE).build(); -
httpclient5/src/test/java/org/apache/hc/client5/http/impl/auth/TestAuthenticationHandler.java:98
test path
.register(StandardAuthScheme.DIGEST, DigestSchemeFactory.INSTANCE) -
httpclient5/src/test/java/org/apache/hc/client5/http/impl/auth/TestDigestScheme.java:84
test path
final AuthScheme authscheme = new DigestScheme();