Noen applikasjoner og spesifikasjoner har inkludert SHA-1 eller andre hash av en mappestruktur.
Hvilke verktøy kan depot bruke for å validere en slik hash sjekksum av en mappestruktur?
- 7zip har en opsjon for dette, men sjekksummen den lager stemmer ikke!
Decom validerer hash ved import av og kan lage hash ved produksjon (berikelse) av SIARD-filer, men vi trenger et frittstående verktøy.
SIARD Suite lager hash av SIARD/content/, mens DBPTK og Full Convert ikke lager dette.
Windows console "certutil" kan lage hash av en fil, men kan denne settes opp til å lage hash av en mappestruktur?
Eksempel på MD5 og SHA-256 hash av fil:
certutil -hashfile %_sourcedir%%_sourcefile% md5 > %_sourcedir%%_sourcefile%.create.md5.txt
certutil -hashfile %_sourcedir%%_sourcefile% sha256 > %_sourcedir%%_sourcefile%.sha256.txt
Eksempel SIARD 2.2 & SIARD 2.1, header seksjon metadata.xml:
<messageDigest>
<digestType>SHA-1</digestType>
<digest>9B8C9928164CFAD2A081A35185360C87EAC78306</digest>
</messageDigest>
Ekempel: SIARD 2.0 & SIARD 1.0, header seksjon metadata.xml:
<messageDigest>MD52DE4305AF752200A13C771B117FB9391</messageDigest>
SIARD 2.2.pdf manual
messageDigest
Consists of digestType (MD5, SHA-1, or SHA-256) and the corresponding digest. The digest represents a binary buffer as a hexadecimal string, or alternatively, in the case of SHA-1 or SHA-256, a base64 string. Whether hexadecimal or a base64 encoding is used depends on the length of the digest and of the string.
The digest is calculated over the content/ folder. More than one message digest (based on different algorithms) can be stored. If no message digest is stored, then the integrity must be assured by storing something like a message digest outside the SIARD file13.
Recommendation
If the message digest option is used, the following must be implemented:
The content and header directories are stored in the ZIP file as separate (empty) content/ and header/ entries. To ensure that the integrity of the primary data can be checked, the entry for the header directories must be inserted after all the primary data in the content/ entry and before all the other metadata entries.
The message digest mentioned below is computed from offset 0 to the offset of the header/ entry of the SIARD archive. Note that the messageDigest indicates hexadecimal values and it is therefore not of strict importance whether they are set in upper or lower case. However, lower case is mostly used and enforced, see e.g. RFC 2831 https://www.ietf.org/rfc/rfc2831.txt