3.4. Arbre Merkle
3.4. Arbre Merkle
L'algorithme de hachage pour le hachage d'arbre Merkle est SHA-256.
Structure de l'entrée d'arbre Merkle :
enum { timestamped_entry(0), (255) }
MerkleLeafType;
struct {
uint64 timestamp;
LogEntryType entry_type;
select(entry_type) {
case x509_entry: ASN.1Cert;
case precert_entry: PreCert;
} signed_entry;
CtExtensions extensions;
} TimestampedEntry;
struct {
Version version;
MerkleLeafType leaf_type;
select (leaf_type) {
case timestamped_entry: TimestampedEntry;
}
} MerkleTreeLeaf;
Ici, "version" est la version du protocole à laquelle le MerkleTreeLeaf correspond. Cette version est v1.
"leaf_type" est le type de l'entrée de feuille. Actuellement, seul "timestamped_entry" (correspondant à un SCT) est défini. Les futures révisions de cette version de protocole peuvent ajouter de nouveaux types MerkleLeafType. La Section 4 explique comment les clients doivent gérer les types de feuilles inconnus.
"timestamp" est l'horodatage du SCT correspondant émis pour ce certificat.
"signed_entry" est le "signed_entry" du SCT correspondant.
"extensions" sont les "extensions" du SCT correspondant.
Les feuilles de l'arbre Merkle sont les hachages de feuille des structures "MerkleTreeLeaf" correspondantes.