public class JcaMTCSignatureVerifier extends java.lang.Object implements MTCSignatureVerifier
MTCSignatureVerifier.
Bound to a PublicKey and one of the algorithm identifiers defined
by Section 6.1 of draft-ietf-plants-merkle-tree-certs:
"ECDSA-P256-SHA256", "ECDSA-P384-SHA384", "Ed25519",
"ML-DSA-44", "ML-DSA-65", "ML-DSA-87".
The draft identifiers are mapped to JCA Signature names internally —
the plain (r||s) ECDSA encoding used by MTCProof requires
SHA256WITHPLAIN-ECDSA / SHA384WITHPLAIN-ECDSA, which BC's
JCE provider registers (DER-encoded SHA256withECDSA is wire-incompatible
with the MTCProof signature byte format).
Instances are created via JcaMTCSignatureVerifier.Builder.
| Modifier and Type | Class and Description |
|---|---|
static class |
JcaMTCSignatureVerifier.Builder
Builder for
JcaMTCSignatureVerifier. |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getAlgorithm() |
boolean |
verify(byte[] cosignedMessage,
byte[] signature) |
public java.lang.String getAlgorithm()
getAlgorithm in interface MTCSignatureVerifierMTCSignatureAlgorithm constants. Lets callers check
a registered verifier against the algorithm a CA publishes for
its cosigner (Section 5.5 sigAlg).public boolean verify(byte[] cosignedMessage,
byte[] signature)
verify in interface MTCSignatureVerifiercosignedMessage - the encoded CosignedMessage bytessignature - the candidate signature