Class BcMTCSignatureVerifier

java.lang.Object
org.bouncycastle.cert.plants.bc.BcMTCSignatureVerifier
All Implemented Interfaces:
MTCSignatureVerifier

public class BcMTCSignatureVerifier extends Object implements MTCSignatureVerifier
Lightweight implementation of MTCSignatureVerifier.

Bound to an AsymmetricKeyParameter and one of the canonical algorithm names in MTCSignatureAlgorithm, for an algorithm permitted by Section 5.3.3 of draft-ietf-plants-merkle-tree-certs: "ECDSA-P256-SHA256", "ECDSA-P384-SHA384", "Ed25519", "ML-DSA-44", "ML-DSA-65", "ML-DSA-87".

  • Constructor Details

    • BcMTCSignatureVerifier

      public BcMTCSignatureVerifier(String algorithm, org.bouncycastle.crypto.params.AsymmetricKeyParameter publicKey)
  • Method Details

    • getAlgorithm

      public String getAlgorithm()
      Specified by:
      getAlgorithm in interface MTCSignatureVerifier
      Returns:
      the MTC signature algorithm this verifier is bound to — one of the MTCSignatureAlgorithm constants. Lets callers check a registered verifier against the algorithm a CA publishes for its cosigner (Section 5.5 sigAlg).
    • verify

      public boolean verify(byte[] cosignedMessage, byte[] signature)
      Specified by:
      verify in interface MTCSignatureVerifier
      Parameters:
      cosignedMessage - the encoded CosignedMessage bytes
      signature - the candidate signature
      Returns:
      true if the signature is valid for the bound public key and algorithm