Operation to get checksums from one or more pillars in a given collection.

One or all files

Checksums can be requested either for a single file or for all files in a collection. 

Requesting checksums for all files in a collection may yield a large set of results. Due to this the protocol supports a method of limiting which files are listed, which can be used for implementing a paging mechanism.  

Paging

To be able to page through a large number of checksums the GetChecksums request supports limitations on the checksum time. 

The limitations are:

Pillars responding to a GetChecksums request should adhere to the following:

Checksum specification

As part of the GetChecksums request, the type of checksum is specified. The protocol specifies a set of known hash algorithms, but is also open for extensions. 

Directly specified in the protocol are:

When it comes to salted checksums HMAC is in conjunction with the algorithm. I.e. HMAC_MD5 or HMAC_SHA256.

The Checksum specification is per request and for all files that it pertains (a single file, or all). 

A client should expect that checksum pillars will reject a GetChecksums request if the checksum type does not match the one that the pillar has stored.