Details
Description
As both supported checksums on remote repositories (namely MD5 and SHA1) have known flaws it would be nice if the Maven Resolver could also leverage other hashes like SHA256 and SHA512.
Although those hashes aren't part of the official Maven 2 repository layout (https://cwiki.apache.org/confluence/display/MAVENOLD/Repository+Layout+-+Final, couldn't find any newer/other spec) I don't see how an additional .sha256 or .sha512 file could introduce backwards compatibility issues with older clients.
I think this namely would mean you would also return SHA512 and SHA256 if they exist and leverage if they are supported by the JRE. The longer the hash the better it is, therefore the hashes should be checked in the following order
- SHA512
- SHA256
- SHA1
- MD5
This would need to be considered in the API within https://github.com/apache/maven-resolver/blob/0c2373f6c66f20953b1a7e443ea1de8672d1b072/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/layout/RepositoryLayout.java#L165 and https://github.com/apache/maven-resolver/blob/0c2373f6c66f20953b1a7e443ea1de8672d1b072/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/layout/RepositoryLayout.java#L178.
Attachments
Issue Links
- blocks
-
MPOM-244 Deploy SHA-512 for source-release to Remote Repository
- Closed
-
SLING-7534 Release policy - stop providing MD5 and start providing SHA-512 checksums
- Resolved
- causes
-
MRESOLVER-138 MRESOLVER-56 introduces severe performance regression
- Closed
- fixes
-
MRESOLVER-246 m-deploy-p will create hashes for hashes
- Closed
- is related to
-
MSHARED-704 Option to create SHA256/SHA512
- Closed
-
MDEPLOY-271 Allow to optionally disable checksum creation
- Closed
-
MSHARED-922 Remove checksum creation from DefaultProjectDeployer
- Closed
- relates to
-
MRESOLVER-115 Make checksum algorithms configurable
- Closed
- supercedes
-
MINSTALL-82 Add sha 256 support
- Closed
- links to