Interface MTCCosigner

  • All Known Implementing Classes:
    BcMTCCosigner, JcaMTCCosigner

    public interface MTCCosigner
    Operator interface for producing a cosigner signature over the subtree [start, end) of an MTC issuance log, per Section 5.3 of draft-ietf-plants-merkle-tree-certs. Implementations encode the MTCCosignedMessage, drive a signer bound to the cosigner's private key at construction, and return the result already packaged as an MTCSignature carrying the cosigner's trust anchor ID.

    JCA-free and lightweight-crypto-free. Concrete bindings: org.bouncycastle.cert.plants.bc.BcMTCCosigner (lightweight) and org.bouncycastle.cert.plants.jcajce.JcaMTCCosigner (JCA).

    • Method Detail

      • getCosignerId

        byte[] getCosignerId()
        Returns:
        the binary trust anchor ID of this cosigner — the value that appears in MTCSignature.getCosignerId() on every signature produced by this instance. Per Section 5.3 of the draft, when the CA itself is acting as a cosigner this is the CA's own trust anchor ID.
      • cosignSubtree

        MTCSignature cosignSubtree​(MTCLog log,
                                   byte[] subtreeHash)
                            throws java.io.IOException
        Cosigns the subtree [log.getStart(), log.getEnd()) of the issuance log identified by log.getLogId().
        Throws:
        java.io.IOException - if the CosignedMessage cannot be encoded or the underlying signing operation fails