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 Summary

    Modifier and Type
    Method
    Description
    cosignSubtree(MTCLog log, byte[] subtreeHash)
    Cosigns the subtree [log.getStart(), log.getEnd()) of the issuance log identified by log.getLogId().
    byte[]
     
  • Method Details

    • 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 IOException
      Cosigns the subtree [log.getStart(), log.getEnd()) of the issuance log identified by log.getLogId().
      Throws:
      IOException - if the CosignedMessage cannot be encoded or the underlying signing operation fails