Class BcSha256MerkleTreeHash

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.bouncycastle.asn1.x509.AlgorithmIdentifier getAlgorithmIdentifier()  
      int getHashSize()  
      byte[] hashLeaf​(byte[] entry)
      Hash of a leaf entry: HASH(0x00 || entry).
      byte[] hashNode​(byte[] left, byte[] right)
      Hash of an internal node: HASH(0x01 || left || right).
      byte[] hashRaw​(byte[] data)
      Raw hash with no domain separation prefix: HASH(data).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BcSha256MerkleTreeHash

        public BcSha256MerkleTreeHash()
    • Method Detail

      • getAlgorithmIdentifier

        public org.bouncycastle.asn1.x509.AlgorithmIdentifier getAlgorithmIdentifier()
        Specified by:
        getAlgorithmIdentifier in interface MerkleTreeHash
        Returns:
        the X.509 AlgorithmIdentifier that names this hash function. Used by MerkleTreeCertificateValidator to cross-check the supplied hash against the logHash field of the CA's id-pe-mtcCertificationAuthority extension.
      • getHashSize

        public int getHashSize()
        Specified by:
        getHashSize in interface MerkleTreeHash
        Returns:
        the hash output size in bytes
      • hashLeaf

        public byte[] hashLeaf​(byte[] entry)
        Description copied from interface: MerkleTreeHash
        Hash of a leaf entry: HASH(0x00 || entry).
        Specified by:
        hashLeaf in interface MerkleTreeHash
        Parameters:
        entry - the raw entry bytes
        Returns:
        leaf hash
      • hashNode

        public byte[] hashNode​(byte[] left,
                               byte[] right)
        Description copied from interface: MerkleTreeHash
        Hash of an internal node: HASH(0x01 || left || right).
        Specified by:
        hashNode in interface MerkleTreeHash
        Parameters:
        left - left child hash
        right - right child hash
        Returns:
        node hash
      • hashRaw

        public byte[] hashRaw​(byte[] data)
        Description copied from interface: MerkleTreeHash
        Raw hash with no domain separation prefix: HASH(data). Used for the subjectPublicKeyInfoHash in a TBSCertificateLogEntry (Section 5.3), which is computed with the log's hash function but without the leaf-node prefix.
        Specified by:
        hashRaw in interface MerkleTreeHash
        Parameters:
        data - the input bytes
        Returns:
        the hash output