Class SignatureSpi
- java.lang.Object
-
- java.security.SignatureSpi
-
- org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi
-
- Direct Known Subclasses:
SignatureSpi.COMPOSITE,SignatureSpi.MLDSA44_ECDSA_P256_SHA256,SignatureSpi.MLDSA44_ECDSA_P256_SHA256_PREHASH,SignatureSpi.MLDSA44_Ed25519_SHA512,SignatureSpi.MLDSA44_Ed25519_SHA512_PREHASH,SignatureSpi.MLDSA44_RSA2048_PKCS15_SHA256,SignatureSpi.MLDSA44_RSA2048_PKCS15_SHA256_PREHASH,SignatureSpi.MLDSA44_RSA2048_PSS_SHA256,SignatureSpi.MLDSA44_RSA2048_PSS_SHA256_PREHASH,SignatureSpi.MLDSA65_ECDSA_brainpoolP256r1_SHA512,SignatureSpi.MLDSA65_ECDSA_brainpoolP256r1_SHA512_PREHASH,SignatureSpi.MLDSA65_ECDSA_P256_SHA512,SignatureSpi.MLDSA65_ECDSA_P256_SHA512_PREHASH,SignatureSpi.MLDSA65_ECDSA_P384_SHA512,SignatureSpi.MLDSA65_ECDSA_P384_SHA512_PREHASH,SignatureSpi.MLDSA65_Ed25519_SHA512,SignatureSpi.MLDSA65_Ed25519_SHA512_PREHASH,SignatureSpi.MLDSA65_RSA3072_PKCS15_SHA512,SignatureSpi.MLDSA65_RSA3072_PKCS15_SHA512_PREHASH,SignatureSpi.MLDSA65_RSA3072_PSS_SHA512,SignatureSpi.MLDSA65_RSA3072_PSS_SHA512_PREHASH,SignatureSpi.MLDSA65_RSA4096_PKCS15_SHA512,SignatureSpi.MLDSA65_RSA4096_PKCS15_SHA512_PREHASH,SignatureSpi.MLDSA65_RSA4096_PSS_SHA512,SignatureSpi.MLDSA65_RSA4096_PSS_SHA512_PREHASH,SignatureSpi.MLDSA87_ECDSA_brainpoolP384r1_SHA512,SignatureSpi.MLDSA87_ECDSA_brainpoolP384r1_SHA512_PREHASH,SignatureSpi.MLDSA87_ECDSA_P384_SHA512,SignatureSpi.MLDSA87_ECDSA_P384_SHA512_PREHASH,SignatureSpi.MLDSA87_ECDSA_P521_SHA512,SignatureSpi.MLDSA87_ECDSA_P521_SHA512_PREHASH,SignatureSpi.MLDSA87_Ed448_SHAKE256,SignatureSpi.MLDSA87_Ed448_SHAKE256_PREHASH,SignatureSpi.MLDSA87_RSA3072_PSS_SHA512,SignatureSpi.MLDSA87_RSA3072_PSS_SHA512_PREHASH,SignatureSpi.MLDSA87_RSA4096_PSS_SHA512,SignatureSpi.MLDSA87_RSA4096_PSS_SHA512_PREHASH
public class SignatureSpi extends java.security.SignatureSpiSignature class for composite signatures. Selected algorithm is set by the "subclasses" at the end of this file.
-
-
Nested Class Summary
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.ObjectengineGetParameter(java.lang.String s)protected java.security.AlgorithmParametersengineGetParameters()protected voidengineInitSign(java.security.PrivateKey privateKey)protected voidengineInitVerify(java.security.PublicKey publicKey)protected voidengineSetParameter(java.lang.String s, java.lang.Object o)protected voidengineSetParameter(java.security.spec.AlgorithmParameterSpec algorithmParameterSpec)protected byte[]engineSign()Method which calculates each component signature and constructs a composite signature which is a sequence of BIT STRINGs https://www.ietf.org/archive/id/draft-ounsworth-pq-composite-sigs-13.html#name-compositesignaturevalueprotected voidengineUpdate(byte b)protected voidengineUpdate(byte[] bytes, int off, int len)protected booleanengineVerify(byte[] signature)Corresponding verification method to the engineSign method.static byte[][]splitCompositeSignature(byte[] compositeSignature, int mldsaSigLen)
-
-
-
Method Detail
-
engineInitVerify
protected void engineInitVerify(java.security.PublicKey publicKey) throws java.security.InvalidKeyException- Specified by:
engineInitVerifyin classjava.security.SignatureSpi- Throws:
java.security.InvalidKeyException
-
engineInitSign
protected void engineInitSign(java.security.PrivateKey privateKey) throws java.security.InvalidKeyException- Specified by:
engineInitSignin classjava.security.SignatureSpi- Throws:
java.security.InvalidKeyException
-
engineUpdate
protected void engineUpdate(byte b) throws java.security.SignatureException- Specified by:
engineUpdatein classjava.security.SignatureSpi- Throws:
java.security.SignatureException
-
engineUpdate
protected void engineUpdate(byte[] bytes, int off, int len) throws java.security.SignatureException- Specified by:
engineUpdatein classjava.security.SignatureSpi- Throws:
java.security.SignatureException
-
engineSign
protected byte[] engineSign() throws java.security.SignatureExceptionMethod which calculates each component signature and constructs a composite signature which is a sequence of BIT STRINGs https://www.ietf.org/archive/id/draft-ounsworth-pq-composite-sigs-13.html#name-compositesignaturevalue- Specified by:
engineSignin classjava.security.SignatureSpi- Returns:
- composite signature bytes
- Throws:
java.security.SignatureException
-
splitCompositeSignature
public static byte[][] splitCompositeSignature(byte[] compositeSignature, int mldsaSigLen)
-
engineVerify
protected boolean engineVerify(byte[] signature) throws java.security.SignatureExceptionCorresponding verification method to the engineSign method. The composite signature is valid if and only if all component signatures are valid. The method verifies all component signatures even if it is already known that the composite signature is invalid.- Specified by:
engineVerifyin classjava.security.SignatureSpi- Parameters:
signature- the signature bytes to be verified.- Returns:
- Throws:
java.security.SignatureException
-
engineSetParameter
protected void engineSetParameter(java.security.spec.AlgorithmParameterSpec algorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException- Overrides:
engineSetParameterin classjava.security.SignatureSpi- Throws:
java.security.InvalidAlgorithmParameterException
-
engineSetParameter
protected void engineSetParameter(java.lang.String s, java.lang.Object o) throws java.security.InvalidParameterException- Specified by:
engineSetParameterin classjava.security.SignatureSpi- Throws:
java.security.InvalidParameterException
-
engineGetParameter
protected java.lang.Object engineGetParameter(java.lang.String s) throws java.security.InvalidParameterException- Specified by:
engineGetParameterin classjava.security.SignatureSpi- Throws:
java.security.InvalidParameterException
-
engineGetParameters
protected final java.security.AlgorithmParameters engineGetParameters()
- Overrides:
engineGetParametersin classjava.security.SignatureSpi
-
-