Class LandmarkCertificateManager

    • Constructor Detail

      • LandmarkCertificateManager

        public LandmarkCertificateManager()
    • Method Detail

      • buildLandmarkCertificate

        public static X509CertificateHolder buildLandmarkCertificate​(long logNumber,
                                                                     long index,
                                                                     org.bouncycastle.asn1.x509.TBSCertificateLogEntry tbsCertEntry,
                                                                     org.bouncycastle.asn1.x509.SubjectPublicKeyInfo subjectPublicKeyInfo,
                                                                     MerkleTreePrimitives.SubtreeInfo landmarkSubtree,
                                                                     java.util.List<byte[]> inclusionProof,
                                                                     MerkleTreeHash hashFunc)
                                                              throws java.io.IOException
        Builds a landmark-relative certificate (no signatures, only an inclusion proof to a predistributed landmark subtree, Section 6.3.4). The certificate serial number is packed from the log number and the entry's index per Section 6.1: serial = (log_number << 48) | index.
        Parameters:
        logNumber - number of the issuance log containing the entry (1 <= logNumber <= 2^16-1)
        index - the entry's index in the log (0 <= index <= 2^48-1)
        tbsCertEntry - the TBSCertificateLogEntry describing the entry
        subjectPublicKeyInfo - the actual subject public key (its hash must match tbsCertEntry.subjectPublicKeyInfoHash)
        landmarkSubtree - the landmark subtree containing the entry
        inclusionProof - inclusion proof hashes from the entry to landmarkSubtree
        hashFunc - the log's hash function
        Returns:
        the landmark-relative certificate
        Throws:
        java.io.IOException