SignatureScheme(schemeNumberID: Int, schemeCodeName: String, algorithmName: String, sig: Signature, keyFactory: KeyFactory, keyPairGenerator: KeyPairGeneratorSpi, algSpec: AlgorithmParameterSpec?, keySize: Int, desc: String)
This class is used to define a digital signature scheme.
schemeNumberID
- we assign a number ID for more efficient on-wire serialisation. Please ensure uniqueness between schemes.
schemeCodeName
- code name for this signature scheme (e.g. RSA_SHA256, ECDSA_SECP256K1_SHA256, ECDSA_SECP256R1_SHA256, EDDSA_ED25519_SHA512, SPHINCS-256_SHA512).
algorithmName
- which signature algorithm is used (e.g. RSA, ECDSA. EdDSA, SPHINCS-256).
sig
- the Signature class that provides the functionality of a digital signature scheme.
eg. Signature.getInstance("SHA256withECDSA", "BC").
keyFactory
- the KeyFactory for this scheme (e.g. KeyFactory.getInstance("RSA", "BC")).
keyPairGenerator
- defines the Service Provider Interface (SPI) for the {@code KeyPairGenerator} class.
e.g. KeyPairGenerator.getInstance("ECDSA", "BC").
algSpec
- parameter specs for the underlying algorithm. Note that RSA is defined by the key size rather than algSpec.
eg. ECGenParameterSpec("secp256k1").
keySize
- the private key size (currently used for RSA only).