Package org.bouncycastle.jcajce.provider.asymmetric.ec

## Class SignatureSpi

- java.lang.Object
- - java.security.SignatureSpi
  - - org.bouncycastle.jcajce.provider.asymmetric.util.DSABase
    - - org.bouncycastle.jcajce.provider.asymmetric.ec.SignatureSpi

- All Implemented Interfaces:
    `PKCSObjectIdentifiers`, `X509ObjectIdentifiers`
  Direct Known Subclasses:
    `SignatureSpi.ecCVCDSA`, `SignatureSpi.ecCVCDSA224`, `SignatureSpi.ecCVCDSA256`, `SignatureSpi.ecCVCDSA384`, `SignatureSpi.ecCVCDSA512`, `SignatureSpi.ecDetDSA`, `SignatureSpi.ecDetDSA224`, `SignatureSpi.ecDetDSA256`, `SignatureSpi.ecDetDSA384`, `SignatureSpi.ecDetDSA512`, `SignatureSpi.ecDetDSASha3_224`, `SignatureSpi.ecDetDSASha3_256`, `SignatureSpi.ecDetDSASha3_384`, `SignatureSpi.ecDetDSASha3_512`, `SignatureSpi.ecDSA`, `SignatureSpi.ecDSA224`, `SignatureSpi.ecDSA256`, `SignatureSpi.ecDSA384`, `SignatureSpi.ecDSA512`, `SignatureSpi.ecDSAnone`, `SignatureSpi.ecDSARipeMD160`, `SignatureSpi.ecDSASha3_224`, `SignatureSpi.ecDSASha3_256`, `SignatureSpi.ecDSASha3_384`, `SignatureSpi.ecDSASha3_512`, `SignatureSpi.ecNR`, `SignatureSpi.ecNR224`, `SignatureSpi.ecNR256`, `SignatureSpi.ecNR384`, `SignatureSpi.ecNR512`, `SignatureSpi.ecPlainDSARP160`

      public class SignatureSpi
      extends DSABase

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `SignatureSpi.ecCVCDSA` |
    `static class` | `SignatureSpi.ecCVCDSA224` |
    `static class` | `SignatureSpi.ecCVCDSA256` |
    `static class` | `SignatureSpi.ecCVCDSA384` |
    `static class` | `SignatureSpi.ecCVCDSA512` |
    `static class` | `SignatureSpi.ecDetDSA` |
    `static class` | `SignatureSpi.ecDetDSA224` |
    `static class` | `SignatureSpi.ecDetDSA256` |
    `static class` | `SignatureSpi.ecDetDSA384` |
    `static class` | `SignatureSpi.ecDetDSA512` |
    `static class` | `SignatureSpi.ecDetDSASha3_224` |
    `static class` | `SignatureSpi.ecDetDSASha3_256` |
    `static class` | `SignatureSpi.ecDetDSASha3_384` |
    `static class` | `SignatureSpi.ecDetDSASha3_512` |
    `static class` | `SignatureSpi.ecDSA` |
    `static class` | `SignatureSpi.ecDSA224` |
    `static class` | `SignatureSpi.ecDSA256` |
    `static class` | `SignatureSpi.ecDSA384` |
    `static class` | `SignatureSpi.ecDSA512` |
    `static class` | `SignatureSpi.ecDSAnone` |
    `static class` | `SignatureSpi.ecDSARipeMD160` |
    `static class` | `SignatureSpi.ecDSASha3_224` |
    `static class` | `SignatureSpi.ecDSASha3_256` |
    `static class` | `SignatureSpi.ecDSASha3_384` |
    `static class` | `SignatureSpi.ecDSASha3_512` |
    `static class` | `SignatureSpi.ecNR` |
    `static class` | `SignatureSpi.ecNR224` |
    `static class` | `SignatureSpi.ecNR256` |
    `static class` | `SignatureSpi.ecNR384` |
    `static class` | `SignatureSpi.ecNR512` |
    `static class` | `SignatureSpi.ecPlainDSARP160` |

  - ### Field Summary

    - ### Fields inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.DSABase

      `digest, encoding, signer`

    - ### Fields inherited from class java.security.SignatureSpi

      `appRandom`

    - ### Fields inherited from interface org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers

      `bagtypes, canNotDecryptAny, certBag, certTypes, crlBag, crlTypes, data, des_EDE3_CBC, dhKeyAgreement, digestAlgorithm, digestedData, encryptedData, encryptionAlgorithm, envelopedData, id_aa, id_aa_asymmDecryptKeyID, id_aa_cmsAlgorithmProtect, id_aa_commitmentType, id_aa_communityIdentifiers, id_aa_contentHint, id_aa_contentIdentifier, id_aa_contentReference, id_aa_decryptKeyID, id_aa_encrypKeyPref, id_aa_ets_archiveTimestamp, id_aa_ets_certCRLTimestamp, id_aa_ets_certificateRefs, id_aa_ets_certValues, id_aa_ets_commitmentType, id_aa_ets_contentTimestamp, id_aa_ets_escTimeStamp, id_aa_ets_otherSigCert, id_aa_ets_revocationRefs, id_aa_ets_revocationValues, id_aa_ets_signerAttr, id_aa_ets_signerLocation, id_aa_ets_sigPolicyId, id_aa_implCompressAlgs, id_aa_implCryptoAlgs, id_aa_msgSigDigest, id_aa_otherSigCert, id_aa_receiptRequest, id_aa_signatureTimeStampToken, id_aa_signerLocation, id_aa_signingCertificate, id_aa_signingCertificateV2, id_aa_sigPolicyId, id_alg, id_alg_AEADChaCha20Poly1305, id_alg_CMS3DESwrap, id_alg_CMSRC2wrap, id_alg_ESDH, id_alg_hkdf_with_sha256, id_alg_hkdf_with_sha384, id_alg_hkdf_with_sha512, id_alg_hss_lms_hashsig, id_alg_PWRI_KEK, id_alg_SSDH, id_ct, id_ct_authData, id_ct_authEnvelopedData, id_ct_compressedData, id_ct_timestampedData, id_ct_TSTInfo, id_cti, id_cti_ets_proofOfApproval, id_cti_ets_proofOfCreation, id_cti_ets_proofOfDelivery, id_cti_ets_proofOfOrigin, id_cti_ets_proofOfReceipt, id_cti_ets_proofOfSender, id_hmacWithSHA1, id_hmacWithSHA224, id_hmacWithSHA256, id_hmacWithSHA384, id_hmacWithSHA512, id_mgf1, id_PBES2, id_PBKDF2, id_pSpecified, id_rsa_KEM, id_RSAES_OAEP, id_RSASSA_PSS, id_smime, id_spq, id_spq_ets_unotice, id_spq_ets_uri, keyBag, md2, md2WithRSAEncryption, md4, md4WithRSAEncryption, md5, md5WithRSAEncryption, pbeWithMD2AndDES_CBC, pbeWithMD2AndRC2_CBC, pbeWithMD5AndDES_CBC, pbeWithMD5AndRC2_CBC, pbeWithSHA1AndDES_CBC, pbeWithSHA1AndRC2_CBC, pbeWithSHAAnd128BitRC2_CBC, pbeWithSHAAnd128BitRC4, pbeWithSHAAnd2_KeyTripleDES_CBC, pbeWithSHAAnd3_KeyTripleDES_CBC, pbewithSHAAnd40BitRC2_CBC, pbeWithSHAAnd40BitRC2_CBC, pbeWithSHAAnd40BitRC4, pkcs_1, pkcs_12, pkcs_12PbeIds, pkcs_3, pkcs_5, pkcs_7, pkcs_9, pkcs_9_at_challengePassword, pkcs_9_at_contentType, pkcs_9_at_counterSignature, pkcs_9_at_emailAddress, pkcs_9_at_extendedCertificateAttributes, pkcs_9_at_extensionRequest, pkcs_9_at_friendlyName, pkcs_9_at_localKeyId, pkcs_9_at_messageDigest, pkcs_9_at_signingDescription, pkcs_9_at_signingTime, pkcs_9_at_smimeCapabilities, pkcs_9_at_unstructuredAddress, pkcs_9_at_unstructuredName, pkcs8ShroudedKeyBag, preferSignedData, RC2_CBC, rc4, rsaEncryption, safeContentsBag, sdsiCertificate, secretBag, sha1WithRSAEncryption, sha224WithRSAEncryption, sha256WithRSAEncryption, sha384WithRSAEncryption, sha512_224WithRSAEncryption, sha512_256WithRSAEncryption, sha512WithRSAEncryption, signedAndEnvelopedData, signedData, sMIMECapabilitiesVersions, srsaOAEPEncryptionSET, x509Certificate, x509certType, x509Crl`

    - ### Fields inherited from interface org.bouncycastle.asn1.x509.X509ObjectIdentifiers

      `commonName, countryName, crlAccessMethod, id_ad, id_ad_caIssuers, id_ad_ocsp, id_at_name, id_at_organizationIdentifier, id_at_telephoneNumber, id_ce, id_ea_rsa, id_ecdsa_with_shake128, id_ecdsa_with_shake256, id_pe, id_pkix, id_rsassa_pss_shake128, id_rsassa_pss_shake256, id_SHA1, localityName, ocspAccessMethod, organization, organizationalUnitName, ripemd160, ripemd160WithRSAEncryption, stateOrProvinceName`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected java.security.AlgorithmParameters` | `engineGetParameters()` |
    `protected void` | `engineInitSign​(java.security.PrivateKey privateKey)` |
    `protected void` | `engineInitVerify​(java.security.PublicKey publicKey)` |

    - ### Methods inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.DSABase

      `engineGetParameter, engineSetParameter, engineSetParameter, engineSign, engineUpdate, engineUpdate, engineVerify`

    - ### Methods inherited from class java.security.SignatureSpi

      `clone, engineInitSign, engineSign, engineUpdate, engineVerify`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### engineInitVerify

          protected void engineInitVerify​(java.security.PublicKey publicKey)
                                   throws java.security.InvalidKeyException

      Specified by:
        `engineInitVerify` in class `java.security.SignatureSpi`
      Throws:
        `java.security.InvalidKeyException`

    - #### engineInitSign

          protected void engineInitSign​(java.security.PrivateKey privateKey)
                                 throws java.security.InvalidKeyException

      Specified by:
        `engineInitSign` in class `java.security.SignatureSpi`
      Throws:
        `java.security.InvalidKeyException`

    - #### engineGetParameters

          protected java.security.AlgorithmParameters engineGetParameters()

      Overrides:
        `engineGetParameters` in class `java.security.SignatureSpi`