Top Description Inners Fields Constructors Methods
org.bouncycastle.jcajce.provider.asymmetric.compositesignatures

public Class SignatureSpi

extends SignatureSpi
Class Inheritance
Known Direct Subclasses
org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA44_ECDSA_P256_SHA256, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA44_Ed25519_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA44_RSA2048_PKCS15_SHA256, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA44_RSA2048_PSS_SHA256, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA65_ECDSA_brainpoolP256r1_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA65_ECDSA_P384_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA65_Ed25519_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA65_RSA3072_PKCS15_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA65_RSA3072_PSS_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA65_RSA4096_PKCS15_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA65_RSA4096_PSS_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA87_ECDSA_brainpoolP384r1_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA87_ECDSA_P384_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.HashMLDSA87_Ed448_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA44_ECDSA_P256_SHA256, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA44_Ed25519_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA44_RSA2048_PKCS15_SHA256, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA44_RSA2048_PSS_SHA256, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA65_ECDSA_brainpoolP256r1_SHA256, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA65_ECDSA_P384_SHA384, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA65_Ed25519_SHA512, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA65_RSA3072_PKCS15_SHA256, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA65_RSA3072_PSS_SHA256, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA65_RSA4096_PKCS15_SHA384, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA65_RSA4096_PSS_SHA384, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA87_ECDSA_brainpoolP384r1_SHA384, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA87_ECDSA_P384_SHA384, org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi.MLDSA87_Ed448_SHA512
Imports
java.io.IOException, java.security.AlgorithmParameters, .GeneralSecurityException, .InvalidAlgorithmParameterException, .InvalidKeyException, .InvalidParameterException, .Key, .PrivateKey, .PublicKey, .Signature, .SignatureException, java.security.spec.AlgorithmParameterSpec, java.util.HashMap, .List, .Map, org.bouncycastle.asn1.ASN1BitString, .ASN1EncodableVector, .ASN1Encoding, .ASN1ObjectIdentifier, .ASN1Sequence, .DERBitString, .DERSequence, org.bouncycastle.asn1.nist.NISTObjectIdentifiers, org.bouncycastle.crypto.Digest, org.bouncycastle.crypto.digests.SHA256Digest, .SHA512Digest, org.bouncycastle.internal.asn1.misc.MiscObjectIdentifiers, org.bouncycastle.jcajce.CompositePrivateKey, .CompositePublicKey, org.bouncycastle.jcajce.spec.ContextParameterSpec, org.bouncycastle.jcajce.util.BCJcaJceHelper, .JcaJceHelper, org.bouncycastle.util.Exceptions

Signature class for composite signatures. Selected algorithm is set by the "subclasses" at the end of this file.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class

Field Summary

Modifier and TypeField and Description
private final ASN1ObjectIdentifier
private static final Map<String, String>
private final Signature[]
private Key
private ContextParameterSpec
private final byte[]
private AlgorithmParameters
private final byte[]
private final JcaJceHelper
private static final String
private static final String
private static final String
private final Digest
private boolean
Inherited from java.security.SignatureSpi:
appRandom

Constructor Summary

AccessConstructor and Description
pack-priv
pack-priv
SignatureSpi(ASN1ObjectIdentifier algorithm, Digest preHashDigest, ASN1ObjectIdentifier preHashOid)

Method Summary

Modifier and TypeMethod and Description
private void
protected Object
engineGetParameter(String
the string name of the parameter.
s
)

Implements abstract java.security.SignatureSpi.engineGetParameter.

Gets the value of the specified algorithm parameter.

protected final AlgorithmParameters
engineGetParameters()

Overrides java.security.SignatureSpi.engineGetParameters.

Returns the parameters used with this Signature object.

protected void
engineInitSign(PrivateKey
the private key of the identity whose signature will be generated.
privateKey
)

Implements abstract java.security.SignatureSpi.engineInitSign.

Initializes this Signature object with the specified private key for signing operations.

protected void
engineInitVerify(PublicKey
the public key of the identity whose signature is going to be verified.
publicKey
)

Implements abstract java.security.SignatureSpi.engineInitVerify.

Initializes this Signature object with the specified public key for verification operations.

protected void
engineSetParameter(AlgorithmParameterSpec
the parameters
algorithmParameterSpec
)

Overrides java.security.SignatureSpi.engineSetParameter.

Initializes this Signature object with the specified parameter values.

protected void
engineSetParameter(String
the string identifier of the parameter.
s
,
Object
the parameter value.
o
)

Implements abstract java.security.SignatureSpi.engineSetParameter.

Sets the specified algorithm parameter to the specified value.

protected byte[]

Returns:

composite signature bytes
engineSign
()

Implements abstract java.security.SignatureSpi.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-compositesignaturevalue

protected void
engineUpdate(byte
the byte to use for the update.
b
)

Implements abstract java.security.SignatureSpi.engineUpdate.

Updates the data to be signed or verified using the specified byte.

protected void
engineUpdate(byte[]
the array of bytes
bytes
,
int
the offset to start from in the array of bytes
off
,
int
the number of bytes to use, starting at offset
len
)

Implements abstract java.security.SignatureSpi.engineUpdate.

Updates the data to be signed or verified, using the specified array of bytes, starting at the specified offset.

protected boolean
engineVerify(byte[]
the signature bytes to be verified.
signature
)

Implements abstract java.security.SignatureSpi.engineVerify.

Corresponding verification method to the engineSign method.

private String
private void
private void
setSigParameter(Signature targetSig, String targetSigName, List<String> names, List<AlgorithmParameterSpec> specs)

private void
private void
Inherited from java.security.SignatureSpi:
cloneengineInitSignengineSignengineUpdateengineVerify