Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Equinox/p2/Proposals/StoringChecksums"
m |
|||
Line 1: | Line 1: | ||
+ | p2 is able to check integrity of downloaded artifacts using [https://en.wikipedia.org/wiki/MD5 MD5 algorithm] only. {{bug|423715}} is going to add support for SHA-256 algorithm but the way artifact's MD5 checksum stored in artifact metadata is not ready for such minor extension ([https://git.eclipse.org/r/59612 Gerrit change #59612] shows how adding SHA-256 support looks like using the same approach as MD5). | ||
+ | |||
+ | In a long run, however, this solution is not future-proof. | ||
+ | |||
== Separate property for every checksum type (artifact + download) and supprted algorithm == | == Separate property for every checksum type (artifact + download) and supprted algorithm == | ||
Ugly and hard to extend: | Ugly and hard to extend: |
Revision as of 09:06, 26 March 2016
p2 is able to check integrity of downloaded artifacts using MD5 algorithm only. bug 423715 is going to add support for SHA-256 algorithm but the way artifact's MD5 checksum stored in artifact metadata is not ready for such minor extension (Gerrit change #59612 shows how adding SHA-256 support looks like using the same approach as MD5).
In a long run, however, this solution is not future-proof.
Contents
Separate property for every checksum type (artifact + download) and supprted algorithm
Ugly and hard to extend:
<artifact classifier='osgi.bundle' id='org.eclipse.osgi' version='3.4.3.R34x_v20081215-1030'> <properties> <property name='artifact.md5' value='58057045158895009b845b9a93f3eb6e'/> <property name='artifact.sha256' value='58057045158895009b845b9a93f3eb6e58057045158895009b845b9a93f3eb6e'/> <property name='download.md5' value='58057045158895009b845b9a93f3eb6e'/> <property name='download.sha256' value='58057045158895009b845b9a93f3eb6e58057045158895009b845b9a93f3eb6e'/> </properties> </artifact>
Separate property for artifact and download checksums
With a map(checksumAlgo, checksumValue) - still ugly but easier to extend:
<artifact classifier='osgi.bundle' id='org.eclipse.osgi' version='3.4.3.R34x_v20081215-1030'> <properties> <property name='artifact.checksums' value='md5=58057045158895009b845b9a93f3eb6e;sha256=58057045158895009b845b9a93f3eb6e58057045158895009b845b9a93f3eb6e'/> <property name='download.checksums' value='md5=58057045158895009b845b9a93f3eb6e;sha256=58057045158895009b845b9a93f3eb6e58057045158895009b845b9a93f3eb6e'/> </properties> </artifact>
XML way, #1
<artifact classifier='osgi.bundle' id='org.eclipse.osgi' version='3.4.3.R34x_v20081215-1030'> <checksums> <checksum> <property name='algorithm' value='md5'/> <property name='artifact' value='58057045158895009b845b9a93f3eb6e'/> <property name='download' value='58057045158895009b845b9a93f3eb6e'/> </checksum> </checksums> </artifact>
XML way, #2
<artifact classifier='osgi.bundle' id='org.eclipse.osgi' version='3.4.3.R34x_v20081215-1030'> <checksums> <checksum algorithm="md5" download="58057045158895009b845b9a93f3eb6e58057045158895009b845b9a93f3eb6e" artifact="58057045158895009b845b9a93f3eb6e58057045158895009b845b9a93f3eb6e"/> </checksums> </artifact>
XML way, #3
<artifact classifier='osgi.bundle' id='org.eclipse.osgi' version='3.4.3.R34x_v20081215-1030'> <checksums> <checksum> <algorithm>sha256</algorithm> <download>58057045158895009b845b9a93f3eb6e58057045158895009b845b9a93f3eb6e</download> <artifact>58057045158895009b845b9a93f3eb6e58057045158895009b845b9a93f3eb6e</artifact> </checksum> </checksums> </artifact>