Bouncy Castle Cryptography Library 1.85

Deprecated API

Deprecated Classes
org.bouncycastle.crypto.engines.AESFastEngine
          unfortunately this class is has a few side channel issues. In an environment where encryption/decryption may be closely observed it should not be used. 
org.bouncycastle.pqc.jcajce.provider.cmce.BCCMCEPrivateKey
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.provider.cmce.BCCMCEPublicKey
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.provider.frodo.BCFrodoPrivateKey
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.provider.frodo.BCFrodoPublicKey
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.crypto.params.CCMParameters
          use AEADParameters 
org.bouncycastle.pqc.jcajce.provider.CMCE
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.cmce.CMCEKEMExtractor
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.cmce.CMCEKEMGenerator
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.provider.cmce.CMCEKeyFactorySpi
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.cmce.CMCEKeyGenerationParameters
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.provider.cmce.CMCEKeyGeneratorSpi
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.cmce.CMCEKeyPairGenerator
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.provider.cmce.CMCEKeyPairGeneratorSpi
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.cmce.CMCEKeyParameters
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.cmce.CMCEParameters
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.spec.CMCEParameterSpec
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.cmce.CMCEPrivateKeyParameters
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.cmce.CMCEPublicKeyParameters
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.asn1.util.DERDump
          use ASN1Dump. 
org.bouncycastle.asn1.x9.DHDomainParameters
          use DomainParameters 
org.bouncycastle.asn1.x9.DHValidationParms
          use ValidationParams 
org.bouncycastle.crypto.signers.ECGOST3410_2012Signer
          Use ECGOST3410Signer instead. 
org.bouncycastle.crypto.kems.ECIESKeyEncapsulation
          use ECIESKEMGenerator, ECIESKEMExtractor 
org.bouncycastle.asn1.sec.ECPrivateKeyStructure
          use ECPrivateKey 
org.bouncycastle.pqc.jcajce.provider.Frodo
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.frodo.FrodoKEMExtractor
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.frodo.FrodoKEMGenerator
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.provider.frodo.FrodoKeyFactorySpi
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.frodo.FrodoKeyGenerationParameters
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.provider.frodo.FrodoKeyGeneratorSpi
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.frodo.FrodoKeyPairGenerator
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.provider.frodo.FrodoKeyPairGeneratorSpi
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.frodo.FrodoKeyParameters
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.frodo.FrodoParameters
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.spec.FrodoParameterSpec
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.frodo.FrodoPrivateKeyParameters
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.crypto.frodo.FrodoPublicKeyParameters
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.util.GF16
          moved to GF16; this type now delegates there and will be removed in a future release. 
org.bouncycastle.jce.spec.GOST28147ParameterSpec
          use org.bouncycastle.jcajce.spec.GOST28147ParameterSpec 
org.bouncycastle.pqc.crypto.mldsa.HashMLDSASigner
          use org.bouncycastle.crypto.signers.HashMLDSASigner 
org.bouncycastle.pqc.crypto.slhdsa.HashSLHDSASigner
          use org.bouncycastle.crypto.signers.HashSLHDSASigner 
org.bouncycastle.jcajce.spec.KEMParameterSpec
          use KTSParameterSpec 
org.bouncycastle.pqc.crypto.mldsa.MLDSAKeyGenerationParameters
          use org.bouncycastle.crypto.params.MLDSAKeyGenerationParameters 
org.bouncycastle.pqc.crypto.mldsa.MLDSAKeyPairGenerator
          use org.bouncycastle.crypto.generators.MLDSAKeyPairGenerator 
org.bouncycastle.pqc.crypto.mldsa.MLDSAKeyParameters
          use org.bouncycastle.crypto.params.MLDSAKeyParameters 
org.bouncycastle.pqc.crypto.mldsa.MLDSAParameters
          use org.bouncycastle.crypto.params.MLDSAParameters 
org.bouncycastle.pqc.crypto.mldsa.MLDSAPrivateKeyParameters
          use org.bouncycastle.crypto.params.MLDSAPrivateKeyParameters 
org.bouncycastle.pqc.crypto.mldsa.MLDSAPublicKeyParameters
          use org.bouncycastle.crypto.params.MLDSAPublicKeyParameters 
org.bouncycastle.pqc.crypto.mldsa.MLDSASigner
          use org.bouncycastle.crypto.signers.MLDSASigner 
org.bouncycastle.pqc.crypto.mlkem.MLKEMExtractor
          use org.bouncycastle.crypto.kems.MLKEMExtractor 
org.bouncycastle.pqc.crypto.mlkem.MLKEMGenerator
          use org.bouncycastle.crypto.kems.MLKEMGenerator 
org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyGenerationParameters
          use org.bouncycastle.crypto.params.MLKEMKeyGenerationParameters 
org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyPairGenerator
          use org.bouncycastle.crypto.generators.MLKEMKeyPairGenerator 
org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyParameters
          use org.bouncycastle.crypto.params.MLKEMKeyParameters 
org.bouncycastle.pqc.crypto.mlkem.MLKEMParameters
          use org.bouncycastle.crypto.params.MLKEMParameters 
org.bouncycastle.pqc.crypto.mlkem.MLKEMPrivateKeyParameters
          use org.bouncycastle.crypto.params.MLKEMKeyPrivateKeyParameters 
org.bouncycastle.pqc.crypto.mlkem.MLKEMPublicKeyParameters
          use org.bouncycastle.crypto.params.MLKEMKeyPublicKeyParameters 
org.bouncycastle.asn1.OIDTokenizer
          Will be removed 
org.bouncycastle.crypto.util.Pack
          use org.bouncycastle.util.pack 
org.bouncycastle.crypto.modes.PaddedBlockCipher
          use org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher instead. 
org.bouncycastle.jce.PKCS10CertificationRequest
          use classes in org.bouncycastle.pkcs. 
org.bouncycastle.jce.PKCS12Util
          Replaced by org.bouncycastle.pkcs.util.PKCS12Util; this class does not understand RFC 9579 PBMAC1-protected PKCS#12 files (it throws UnsupportedOperationException for them) and will be removed in a future release. 
org.bouncycastle.asn1.x509.PrivateKeyStatement
          use PrivateKeyPossessionStatement 
org.bouncycastle.jce.spec.RepeatedSecretKeySpec
          use super class org.bouncycastle.jcajce.spec.RepeatedSecretKeySpec 
org.bouncycastle.crypto.kems.RSAKeyEncapsulation
          use RSAKEMGenerator, RSAKEMExtractor 
org.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure
          use RSAPrivateKey 
org.bouncycastle.asn1.x509.RSAPublicKeyStructure
          use org.bouncycastle.asn1.pkcs.RSAPublicKey 
org.bouncycastle.jcajce.provider.util.SecretKeyUtil
          class appears to be no longer in use, maybe getting imported by others though. 
org.bouncycastle.pqc.crypto.slhdsa.SLHDSAEngine
          use org.bouncycastle.crypto.signers.slhdsa.SLHDSASigner 
org.bouncycastle.pqc.crypto.slhdsa.SLHDSAKeyGenerationParameters
          use org.bouncycastle.crypto.params.SLHDSAKeyGenerationParameters 
org.bouncycastle.pqc.crypto.slhdsa.SLHDSAKeyPairGenerator
          use org.bouncycastle.crypto.generators.SLHDSAKeyPairGenerator 
org.bouncycastle.pqc.crypto.slhdsa.SLHDSAKeyParameters
          use org.bouncycastle.crypto.params.SLHDSAKeyParameters 
org.bouncycastle.pqc.crypto.slhdsa.SLHDSAParameters
          use org.bouncycastle.crypto.params.SLHDSAParameters 
org.bouncycastle.pqc.crypto.slhdsa.SLHDSAPrivateKeyParameters
          use org.bouncycastle.crypto.params.SLHDSAPrivateKeyParameters 
org.bouncycastle.pqc.crypto.slhdsa.SLHDSAPublicKeyParameters
          use org.bouncycastle.crypto.params.SLHDSAPublicKeyParameters 
org.bouncycastle.pqc.crypto.slhdsa.SLHDSASigner
          use org.bouncycastle.crypto.signers.SLHDSASigner 
org.bouncycastle.pqc.jcajce.provider.util.SpecUtil
          use org.bouncycastle.jcajce.util.SpecUtil 
org.bouncycastle.asn1.x509.TBSCertificateStructure
          use TBSCertificate 
org.bouncycastle.jce.provider.X509CertificateObject
          Do not use this class directly - either use org.bouncycastle.cert (bcpkix) or CertificateFactory. 
org.bouncycastle.asn1.x509.X509CertificateStructure
          use org.bouncycastle.asn1.x509.Certificate 
org.bouncycastle.jce.provider.X509CertParser
          use CertificateFactory or the PEMParser in the openssl package (pkix jar). 
org.bouncycastle.jce.provider.X509CRLObject
          Do not use this class directly - either use org.bouncycastle.cert (bcpkix) or CertificateFactory. 
org.bouncycastle.asn1.x509.X509Extension
          use Extension 
org.bouncycastle.asn1.x509.X509Extensions
          use Extension and Extensions 
org.bouncycastle.asn1.x509.X509ExtensionsGenerator
          use org.bouncycastle.asn1.x509.ExtensionsGenerator 
org.bouncycastle.asn1.x509.X509Name
          use org.bouncycastle.asn1.x500.X500Name. 
org.bouncycastle.asn1.x509.X509NameTokenizer
          use X500NameTokenizer 
org.bouncycastle.jce.X509Principal
          use the X500Name class. 
 

Deprecated Interfaces
org.bouncycastle.pqc.jcajce.interfaces.CMCEKey
          the standardised Classic McEliece KEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see org.bouncycastle.crypto.params.CMCEParameters and org.bouncycastle.jcajce.spec.CMCEParameterSpec). This is the legacy NIST round 3 (non-pc, incl. mceliece348864) implementation, retained for backwards compatibility. 
org.bouncycastle.pqc.jcajce.interfaces.DilithiumKey
          to be deleted - use ML-DSA instead. 
org.bouncycastle.pqc.jcajce.interfaces.DilithiumPrivateKey
          to be deleted - use ML-DSA instead. 
org.bouncycastle.pqc.jcajce.interfaces.DilithiumPublicKey
          to be deleted - use ML-DSA instead. 
org.bouncycastle.jcajce.provider.asymmetric.util.DSAEncoder
          No longer used 
org.bouncycastle.jce.interfaces.ElGamalPublicKey
          just use DHPublicKey. 
org.bouncycastle.pqc.jcajce.interfaces.FrodoKey
          the standardised FrodoKEM (ISO/IEC 18033-2:2006/Amd 2:2026) is now provided under org.bouncycastle.crypto and org.bouncycastle.jcajce (see FrodoKEMParameters / FrodoKEMParameterSpec). This is the legacy NIST round 3 (unsalted, eFrodoKEM) implementation, retained for backwards compatibility. 
org.bouncycastle.crypto.KeyEncapsulation
          use EncapsulatedSecretGenerator and EncapsulatedSecretExtractor 
org.bouncycastle.jce.interfaces.MQVPrivateKey
          use MQVParameterSpec for passing the ephemeral key. 
org.bouncycastle.jce.interfaces.MQVPublicKey
          use MQVParameterSpec for passing the ephemeral key. 
org.bouncycastle.pqc.jcajce.interfaces.SPHINCSPlusKey
          to be deleted - use SLH-DSA instead. 
org.bouncycastle.pqc.jcajce.interfaces.SPHINCSPlusPrivateKey
          to be deleted - use SLH-DSA instead. 
org.bouncycastle.pqc.jcajce.interfaces.SPHINCSPlusPublicKey
          to be deleted - use SLH-DSA instead. 
org.bouncycastle.pqc.jcajce.interfaces.StateAwareSignature
          it's better to avoid this and use extractKeyShard methods where possible. 
 

Deprecated Fields
org.bouncycastle.asn1.x509.ReasonFlags.AA_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.AA_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.AFFILIATION_CHANGED
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.AFFILIATION_CHANGED
          use lower case version 
org.bouncycastle.asn1.x509.X509Extensions.AuditIdentity
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.AuthorityInfoAccess
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.AuthorityKeyIdentifier
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.BasicConstraints
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.BiometricInfo
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Name.C
          use a X500NameStyle 
org.bouncycastle.asn1.x509.ReasonFlags.CA_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.CA_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.CERTIFICATE_HOLD
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.CERTIFICATE_HOLD
          use lower case version 
org.bouncycastle.asn1.x509.X509Extensions.CertificateIssuer
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.CertificatePolicies
          use X509Extension value. 
org.bouncycastle.asn1.x509.ReasonFlags.CESSATION_OF_OPERATION
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.CESSATION_OF_OPERATION
          use lower case version 
org.bouncycastle.asn1.x509.X509Name.CN
          use a X500NameStyle 
org.bouncycastle.asn1.x509.X509Extensions.CRLDistributionPoints
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.CRLNumber
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.DeltaCRLIndicator
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Name.EmailAddress
          use a X500NameStyle 
org.bouncycastle.asn1.x509.X509Extensions.ExtendedKeyUsage
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.FreshestCRL
          use X509Extension value. 
org.bouncycastle.pqc.legacy.sphincsplus.SPHINCSPlusParameters.haraka_128f
          obsolete to be removed 
org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_aa_commitmentType
          use id_aa_ets_commitmentType instead 
org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_aa_otherSigCert
          use id_aa_ets_otherSigCert instead 
org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_aa_signerLocation
          use id_aa_ets_signerLocation instead 
org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_aa_sigPolicyId
          use id_aa_ets_sigPolicyId instead 
org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_alg
          use smime_alg instead 
org.bouncycastle.asn1.x509.X509AttributeIdentifiers.id_at_privateKeyStatement
          use statementOfPossession 
org.bouncycastle.asn1.x509.X509ObjectIdentifiers.id_PasswordBasedMac
          Use CRMFObjectIdentifiers.passwordBasedMac instead 
org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_spq
          use id_spq_oid instead 
org.bouncycastle.asn1.x509.X509Extensions.InhibitAnyPolicy
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.InstructionCode
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.InvalidityDate
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.IssuerAlternativeName
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.IssuingDistributionPoint
          use X509Extension value. 
org.bouncycastle.crypto.hpke.HPKE.kem_P384_SHA348
          use kem_P384_SHA384 
org.bouncycastle.asn1.x509.ReasonFlags.KEY_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.KEY_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.x509.X509Extensions.KeyUsage
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.LogoType
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.NameConstraints
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.NoRevAvail
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Name.O
          use a X500NameStyle 
org.bouncycastle.asn1.x509.X509Name.OIDLookUp
          use DefaultSymbols 
org.bouncycastle.asn1.x509.X509Name.OU
          use a X500NameStyle 
org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbewithSHAAnd40BitRC2_CBC
          use pbeWithSHAAnd40BitRC2_CBC 
org.bouncycastle.asn1.x509.X509Extensions.PolicyConstraints
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.PolicyMappings
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.PrivateKeyUsagePeriod
          use X509Extension value. 
org.bouncycastle.asn1.x509.ReasonFlags.PRIVILEGE_WITHDRAWN
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.PRIVILEGE_WITHDRAWN
          use lower case version 
org.bouncycastle.asn1.x509.X509Extensions.QCStatements
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.ReasonCode
          use X509Extension value. 
org.bouncycastle.asn1.x509.CRLReason.REMOVE_FROM_CRL
          use lower case version 
org.bouncycastle.asn1.x509.X509AttributeIdentifiers.RoleSyntax
          use id_at_role 
org.bouncycastle.crypto.engines.Salsa20Engine.sigma
            
org.bouncycastle.asn1.x500.style.BCStyle.SN
          use SERIALNUMBER or SURNAME 
org.bouncycastle.crypto.encodings.PKCS1Encoding.STRICT_LENGTH_ENABLED_PROPERTY
          use NOT_STRICT_LENGTH_ENABLED_PROPERTY 
org.bouncycastle.asn1.x509.X509Extensions.SubjectAlternativeName
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.SubjectDirectoryAttributes
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.SubjectInfoAccess
          use X509Extension value. 
org.bouncycastle.asn1.x509.X509Extensions.SubjectKeyIdentifier
          use X509Extension value. 
org.bouncycastle.asn1.x509.ReasonFlags.SUPERSEDED
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.SUPERSEDED
          use lower case version 
org.bouncycastle.asn1.x509.X509Name.SymbolLookUp
          use DefaultLookUp 
org.bouncycastle.asn1.x509.X509Name.T
          use a X500NameStyle 
org.bouncycastle.asn1.x509.X509Extensions.TargetInformation
          use X509Extension value. 
org.bouncycastle.crypto.engines.Salsa20Engine.tau
            
org.bouncycastle.crypto.signers.X931Signer.TRAILER_IMPLICIT
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_IMPLICIT
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_IMPLICIT
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_RIPEMD128
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_RIPEMD128
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_RIPEMD128
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_RIPEMD160
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_RIPEMD160
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_RIPEMD160
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_SHA1
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_SHA1
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_SHA1
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_SHA224
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_SHA256
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_SHA256
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_SHA256
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_SHA384
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_SHA384
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_SHA384
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_SHA512
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_SHA512
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_SHA512
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_WHIRLPOOL
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_WHIRLPOOL
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_WHIRLPOOL
          use ISOTrailers 
org.bouncycastle.asn1.x509.CRLReason.UNSPECIFIED
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.UNUSED
          use lower case version 
org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.x509certType
          use x509Certificate instead 
org.bouncycastle.pqc.asn1.PQCObjectIdentifiers.xmss_mt_with_SHA256
          use xmss_mt_SHA256ph 
org.bouncycastle.pqc.asn1.PQCObjectIdentifiers.xmss_mt_with_SHA512
          use xmss_mt_SHA512ph 
org.bouncycastle.pqc.asn1.PQCObjectIdentifiers.xmss_mt_with_SHAKE128
          use xmss_mt_SHAKE128ph 
org.bouncycastle.pqc.asn1.PQCObjectIdentifiers.xmss_mt_with_SHAKE256
          use xmss_mt_SHAKE256ph 
org.bouncycastle.pqc.asn1.PQCObjectIdentifiers.xmss_with_SHA256
          use xmss_SHA256ph 
org.bouncycastle.pqc.asn1.PQCObjectIdentifiers.xmss_with_SHA512
          use xmss_SHA512ph 
org.bouncycastle.pqc.asn1.PQCObjectIdentifiers.xmss_with_SHAKE128
          use xmss_SHAKE128ph 
org.bouncycastle.pqc.asn1.PQCObjectIdentifiers.xmss_with_SHAKE256
          use xmss_SHAKE256ph 
 

Deprecated Methods
org.bouncycastle.asn1.x509.ExtensionsGenerator.addExtension(Extensions)
          Use addExtensions instead. 
org.bouncycastle.crypto.engines.ThreefishEngine.bytesToWord(byte[], int)
          Will be removed 
org.bouncycastle.util.Fingerprint.calculateFingerprintSHA512_160(byte[])
          use the SHAKE based version. 
org.bouncycastle.crypto.agreement.jpake.JPAKEUtil.calculateS(char[])
          Use version including the modulus instead. 
org.bouncycastle.jcajce.util.ProviderJcaJceHelper.createDigest(String)
          Use createMessageDigest instead 
org.bouncycastle.jcajce.util.NamedJcaJceHelper.createDigest(String)
          Use createMessageDigest instead 
org.bouncycastle.jcajce.util.JcaJceHelper.createDigest(String)
          Use createMessageDigest instead 
org.bouncycastle.jcajce.util.DefaultJcaJceHelper.createDigest(String)
          Use createMessageDigest instead 
org.bouncycastle.util.GF16.decode(byte[], byte[], int)
          use GF16.decode(byte[], byte[], int). 
org.bouncycastle.math.ec.rfc7748.X448Field.decode(byte[], int[])
          Use X448Field.decode448(byte[], int[]) instead. 
org.bouncycastle.math.ec.rfc7748.X25519Field.decode(byte[], int[])
          Use X25519Field.decode255(byte[], int[]) instead. 
org.bouncycastle.util.GF16.decode(byte[], int, byte[], int, int)
          use GF16.decode(byte[], int, byte[], int, int). 
org.bouncycastle.math.ec.rfc7748.X448Field.decode(byte[], int, int[])
          Use X448Field.decode448(byte[], int, int[], int) instead. 
org.bouncycastle.math.ec.rfc7748.X25519Field.decode(byte[], int, int[])
          Use X25519Field.decode255(byte[], int, int[], int) instead. 
org.bouncycastle.math.ec.rfc7748.X448Field.decode(byte[], int, int[], int)
          Use X448Field.decode448(byte[], int, int[], int) instead. 
org.bouncycastle.math.ec.rfc7748.X25519Field.decode(byte[], int, int[], int)
          Use X25519Field.decode255(byte[], int, int[], int) instead. 
org.bouncycastle.math.ec.rfc7748.X448Field.decode(int[], int, int[])
          Use X448Field.decode448(int[], int, int[], int) instead. 
org.bouncycastle.math.ec.rfc7748.X25519Field.decode(int[], int, int[])
          Use X25519Field.decode255(int[], int, int[], int) instead. 
org.bouncycastle.crypto.kems.ECIESKeyEncapsulation.decrypt(byte[], int)
          use ECIESKEMExtractor 
org.bouncycastle.crypto.kems.ECIESKeyEncapsulation.decrypt(byte[], int, int, int)
          use ECIESKEMExtractor 
org.bouncycastle.util.GF16.encode(byte[], byte[], int)
          use GF16.encode(byte[], byte[], int). 
org.bouncycastle.util.GF16.encode(byte[], byte[], int, int)
          use GF16.encode(byte[], byte[], int, int). 
org.bouncycastle.crypto.kems.ECIESKeyEncapsulation.encrypt(byte[], int)
          use ECIESKEMGenerator 
org.bouncycastle.crypto.kems.ECIESKeyEncapsulation.encrypt(byte[], int, int)
          use ECIESKEMGenerator 
org.bouncycastle.jcajce.provider.asymmetric.dsa.DSASigner.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.ecgost.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.gost.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.rsa.X931SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.rsa.ISOSignatureSpi.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.util.DSABase.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.util.BaseDeterministicOrRandomSignature.engineGetParameter(String)
          replaced with engineGetParameters() 
org.bouncycastle.pqc.jcajce.provider.aimer.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.dilithium.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.faest.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.falcon.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.haetae.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.hawk.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.mayo.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.mqom.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.picnic.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.qruov.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.sdith.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.snova.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.sphincs.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.sphincsplus.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.sqisign.SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.pqc.jcajce.provider.uov.SignatureSpi.engineGetParameter(String)
          replaced with SignatureSpi.engineGetParameters(). 
org.bouncycastle.jcajce.provider.asymmetric.dsa.DSASigner.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.jcajce.provider.asymmetric.ecgost.SignatureSpi.engineSetParameter(String, Object)
          replaced with  
org.bouncycastle.jcajce.provider.asymmetric.gost.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.jcajce.provider.asymmetric.rsa.X931SignatureSpi.engineSetParameter(String, Object)
          replaced with engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.jcajce.provider.asymmetric.rsa.PSSSignatureSpi.engineSetParameter(String, Object)
          replaced with  
org.bouncycastle.jcajce.provider.asymmetric.rsa.ISOSignatureSpi.engineSetParameter(String, Object)
          replaced with engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.jcajce.provider.asymmetric.util.DSABase.engineSetParameter(String, Object)
          replaced with  
org.bouncycastle.jcajce.provider.asymmetric.util.BaseDeterministicOrRandomSignature.engineSetParameter(String, Object)
          replaced with engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.aimer.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.dilithium.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.faest.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.falcon.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.haetae.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.hawk.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.mayo.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.mqom.SignatureSpi.engineSetParameter(String, Object)
          replaced with engineSetParameter(AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.picnic.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.qruov.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.sdith.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.snova.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.sphincs.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.sphincsplus.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.sqisign.SignatureSpi.engineSetParameter(String, Object)
          replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec) 
org.bouncycastle.pqc.jcajce.provider.uov.SignatureSpi.engineSetParameter(String, Object)
          replaced with SignatureSpi.engineSetParameter(AlgorithmParameterSpec). 
org.bouncycastle.jcajce.util.JcaJceUtils.extractParameters(AlgorithmParameters)
          use AlgorithmParametersUtils.extractParameters(AlgorithmParameters params) 
org.bouncycastle.crypto.generators.BCrypt.generate(byte[], byte[], int)
          as a direct replacement use BCrypt.generate(byte[], byte[], int, boolean) so the terminator choice is explicit at the call site — pass to have the spec-required 0x00 terminator appended (equivalent to feeding through BCrypt.passwordToByteArray(char[])), when the supplied bytes already include it. For general password hashing prefer OpenBSDBCrypt, which handles termination, salt formatting and the modular crypt output line; this raw primitive remains available for test-vector validation and interop with implementations that emit the 24-byte hash directly (issue #1741). 
org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getAlgorithmId()
          use getAlgorithm() 
org.bouncycastle.crypto.signers.RSADigestSigner.getAlgorithmName()
            
org.bouncycastle.asn1.ASN1BitString.getBytes(int)
          Will be removed 
org.bouncycastle.asn1.ocsp.CrlID.getCrlUrl()
          Use CrlID.getCrlUrlIA5() instead. 
org.bouncycastle.jcajce.PKIXExtendedParameters.getDate()
          Use 'getValidityDate' instead (which can return null). 
org.bouncycastle.jcajce.util.JcaJceUtils.getDigestAlgName(ASN1ObjectIdentifier)
          use MessageDigestUtils,getDigestName() 
org.bouncycastle.crypto.agreement.ECVKOAgreement.getFieldSize()
          Will be removed 
org.bouncycastle.asn1.bc.ExternalValue.getHashVal()
          use getHash(), the internal encoding is now an OCTET STRING 
org.bouncycastle.pqc.legacy.sphincsplus.SPHINCSPlusParameters.getID(SPHINCSPlusParameters)
          Use SPHINCSPlusParameters.getID() instead 
org.bouncycastle.asn1.x509.AuthorityKeyIdentifier.getKeyIdentifier()
          Use AuthorityKeyIdentifier.getKeyIdentifierOctets() instead. 
org.bouncycastle.asn1.cryptopro.GOST3410ParamSetParameters.getLKeySize()
          use getKeySize 
org.bouncycastle.asn1.ASN1BitString.getPadBits(int)
          Will be removed 
org.bouncycastle.crypto.params.MLKEMPrivateKeyParameters.getParametersWithFormat(int)
          Use MLKEMPrivateKeyParameters.withPreferredFormat(int) instead. 
org.bouncycastle.pqc.crypto.mlkem.MLKEMPrivateKeyParameters.getParametersWithFormat(int)
          Use MLKEMPrivateKeyParameters.withPreferredFormat(int) instead. 
org.bouncycastle.jce.interfaces.ECKey.getParams()
          this method vanises in JDK 1.5. Use getParameters(). 
org.bouncycastle.crypto.params.MLDSAPrivateKeyParameters.getPrivateKey()
          Use MLDSAPrivateKeyParameters.getEncoded() instead. 
org.bouncycastle.pqc.crypto.crystals.dilithium.DilithiumPrivateKeyParameters.getPrivateKey()
          Use DilithiumPrivateKeyParameters.getEncoded() instead. 
org.bouncycastle.pqc.crypto.mldsa.MLDSAPrivateKeyParameters.getPrivateKey()
          Use MLDSAPrivateKeyParameters.getEncoded() instead. 
org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getPublicKey()
          use parsePublicKey 
org.bouncycastle.jcajce.spec.GOST28147ParameterSpec.getSbox()
          use getSBox() 
org.bouncycastle.asn1.x509.qualified.BiometricData.getSourceDataUri()
          Use BiometricData.getSourceDataUriIA5() instead. 
org.bouncycastle.asn1.x509.DeltaCertificateDescriptor.getValidity()
          Use getValidityObject instead. 
org.bouncycastle.util.GF16.innerProduct(byte[], int, byte[], int, int)
          use GF16.innerProduct(byte[], int, byte[], int, int). 
org.bouncycastle.crypto.kems.MLKEMGenerator.internalGenerateEncapsulated(AsymmetricKeyParameter, byte[])
          Use MLKEMGenerator.internalGenerateEncapsulated(MLKEMPublicKeyParameters, byte[]) instead. 
org.bouncycastle.pqc.crypto.mlkem.MLKEMGenerator.internalGenerateEncapsulated(AsymmetricKeyParameter, byte[])
          Use MLKEMGenerator.internalGenerateEncapsulated(MLKEMPublicKeyParameters, byte[]) instead. 
org.bouncycastle.util.GF16.inv(byte)
          use GF16.inv(byte). 
org.bouncycastle.jcajce.util.JcaJceUtils.loadParameters(AlgorithmParameters, ASN1Encodable)
          use AlgorithmParametersUtils.loadParameters(AlgorithmParameters params, ASN1Encodable sParams) 
org.bouncycastle.util.GF16.mul(byte, byte)
          use GF16.mul(byte, byte). 
org.bouncycastle.util.GF16.mul(int, int)
          use GF16.mul(int, int). 
org.bouncycastle.asn1.ASN1InputStream.readFully(byte[])
          No longer used; will be removed 
org.bouncycastle.asn1.ASN1InputStream.readLength()
          No longer used; will be removed 
org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setExtensions(X509Extensions)
          use method taking Extensions 
org.bouncycastle.asn1.x509.V2TBSCertListGenerator.setExtensions(X509Extensions)
          use the method taking Extensions 
org.bouncycastle.asn1.x509.V2AttributeCertificateInfoGenerator.setExtensions(X509Extensions)
          use method taking Extensions 
org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setIssuer(X509Name)
          use X500Name method 
org.bouncycastle.asn1.x509.V2TBSCertListGenerator.setIssuer(X509Name)
          use X500Name method 
org.bouncycastle.asn1.x509.V1TBSCertificateGenerator.setIssuer(X509Name)
          use X500Name method 
org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setSubject(X509Name)
          use X500Name method 
org.bouncycastle.asn1.x509.V1TBSCertificateGenerator.setSubject(X509Name)
          use X500Name method 
org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters.sign(int, Ed25519PublicKeyParameters, byte[], byte[], int, int, byte[], int)
          use overload that doesn't take a public key 
org.bouncycastle.crypto.params.Ed448PrivateKeyParameters.sign(int, Ed448PublicKeyParameters, byte[], byte[], int, int, byte[], int)
          use overload that doesn't take a public key 
org.bouncycastle.asn1.x509.DeltaCertificateDescriptor.trimTo(TBSCertificate, Extensions)
          Use DeltaCertificateTool#trimDeltaCertificateDescriptor instead. 
org.bouncycastle.crypto.engines.ThreefishEngine.wordToBytes(long, byte[], int)
          Will be removed 
 

Deprecated Constructors
org.bouncycastle.crypto.engines.AESEngine()
          use AESEngine.newInstance() 
org.bouncycastle.crypto.AsymmetricCipherKeyPair(CipherParameters, CipherParameters)
          use AsymmetricKeyParameter 
org.bouncycastle.asn1.x509.AuthorityKeyIdentifier(SubjectPublicKeyInfo)
          create the extension using org.bouncycastle.cert.X509ExtensionUtils 
org.bouncycastle.asn1.x509.AuthorityKeyIdentifier(SubjectPublicKeyInfo, GeneralNames, BigInteger)
          create the extension using org.bouncycastle.cert.X509ExtensionUtils 
org.bouncycastle.crypto.macs.BlockCipherMac(BlockCipher)
          use CBCBlockCipherMac 
org.bouncycastle.crypto.macs.BlockCipherMac(BlockCipher, int)
          use CBCBlockCipherMac 
org.bouncycastle.crypto.BufferedBlockCipher(BlockCipher)
          use the constructor on DefaultBufferedBlockCipher. 
org.bouncycastle.crypto.modes.CBCBlockCipher(BlockCipher)
          use the CBCBlockCipher.newInstance() static method. 
org.bouncycastle.crypto.modes.CCMBlockCipher(BlockCipher)
          use the CCMBlockCipher.newInstance() static method. 
org.bouncycastle.asn1.pkcs.CertificationRequest(ASN1Sequence)
          use getInstance() 
org.bouncycastle.asn1.pkcs.CertificationRequestInfo(X509Name, SubjectPublicKeyInfo, ASN1Set)
          use X500Name method. 
org.bouncycastle.crypto.modes.CFBBlockCipher(BlockCipher, int)
          use the equivalent CFBBlockCipher.newInstance() static method. 
org.bouncycastle.pqc.asn1.CMCEPublicKey(ASN1Sequence)
          use getInstance() 
org.bouncycastle.asn1.DERExternal(ASN1EncodableVector)
          Use DERExternal.fromVector(ASN1EncodableVector) instead. 
org.bouncycastle.asn1.DERExternal(DERSequence)
          Use DERExternal.fromSequence(ASN1Sequence) instead. 
org.bouncycastle.asn1.DLExternal(ASN1EncodableVector)
          Use DLExternal.fromVector(ASN1EncodableVector) instead. 
org.bouncycastle.asn1.DLExternal(DLSequence)
          Use DLExternal.fromSequence(ASN1Sequence) instead. 
org.bouncycastle.math.ec.ECCurve.F2m(int, int, BigInteger, BigInteger)
          use constructor taking order/cofactor 
org.bouncycastle.math.ec.ECCurve.F2m(int, int, int, int, BigInteger, BigInteger)
          use constructor taking order/cofactor 
org.bouncycastle.math.ec.ECCurve.Fp(BigInteger, BigInteger, BigInteger)
          use constructor taking order/cofactor 
org.bouncycastle.asn1.x509.ExtendedKeyUsage(Vector)
          use KeyPurposeId[] constructor. 
org.bouncycastle.pqc.asn1.FalconPublicKey(ASN1Sequence)
          use getInstance() 
org.bouncycastle.util.Fingerprint(byte[], boolean)
          use the SHAKE only version. 
org.bouncycastle.crypto.modes.GCMBlockCipher(BlockCipher)
          use the GCMBlockCipher.newInstance() static method. 
org.bouncycastle.crypto.modes.GCMBlockCipher(BlockCipher, GCMMultiplier)
          use the CBCBlockCipher.newInstance() static method. 
org.bouncycastle.asn1.x509.GeneralName(X509Name)
          use X500Name constructor. 
org.bouncycastle.jce.spec.GOST28147ParameterSpec(byte[])
            
org.bouncycastle.jce.spec.GOST28147ParameterSpec(byte[], byte[])
            
org.bouncycastle.jce.spec.GOST28147ParameterSpec(String)
            
org.bouncycastle.jce.spec.GOST28147ParameterSpec(String, byte[])
            
org.bouncycastle.crypto.macs.OldHMac(Digest)
          uses incorrect pad for SHA-512 and SHA-384 use HMac. 
org.bouncycastle.asn1.x509.PolicyMappings(Hashtable)
          use CertPolicyId constructors. 
org.bouncycastle.asn1.x509.PolicyQualifierInfo(ASN1Sequence)
          use PolicyQualifierInfo.getInstance() 
org.bouncycastle.asn1.ocsp.ResponseData(ResponderID, ASN1GeneralizedTime, ASN1Sequence, X509Extensions)
          use method taking Extensions 
org.bouncycastle.crypto.modes.SICBlockCipher(BlockCipher)
          use newInstance() method. 
org.bouncycastle.asn1.ocsp.SingleResponse(CertID, CertStatus, ASN1GeneralizedTime, ASN1GeneralizedTime, X509Extensions)
          use method taking ASN1GeneralizedTime and Extensions 
org.bouncycastle.pqc.asn1.SPHINCSPLUSPrivateKey(ASN1Sequence)
          use getInstance() 
org.bouncycastle.pqc.asn1.SPHINCSPLUSPublicKey(ASN1Sequence)
          use getInstance() 
org.bouncycastle.asn1.x509.SubjectPublicKeyInfo(ASN1Sequence)
          use SubjectPublicKeyInfo.getInstance() 
org.bouncycastle.asn1.ocsp.TBSRequest(GeneralName, ASN1Sequence, X509Extensions)
          use method taking Extensions 
org.bouncycastle.asn1.x500.X500Name(X500NameStyle, X500Name)
          use the getInstance() method that takes a style. 
org.bouncycastle.asn1.x509.X509Extensions(Vector, Hashtable)
          use Extensions 
org.bouncycastle.asn1.x509.X509Extensions(Vector, Vector)
          use Extensions 
org.bouncycastle.asn1.x509.X509Name(ASN1Sequence)
          use X500Name.getInstance() 
org.bouncycastle.asn1.x509.X509Name(boolean, Hashtable, String)
          use X500Name, X500NameBuilder 
org.bouncycastle.asn1.x509.X509Name(boolean, String)
          use X500Name, X500NameBuilder 
org.bouncycastle.asn1.x509.X509Name(boolean, String, X509NameEntryConverter)
          use X500Name, X500NameBuilder 
org.bouncycastle.asn1.x509.X509Name(Hashtable)
          use an ordered constructor! The hashtable ordering is rarely correct 
org.bouncycastle.asn1.x509.X509Name(String)
          use X500Name, X500NameBuilder 
org.bouncycastle.asn1.x509.X509Name(String, X509NameEntryConverter)
          use X500Name, X500NameBuilder 
org.bouncycastle.asn1.x509.X509Name(Vector, Hashtable, X509NameEntryConverter)
          use X500Name, X500NameBuilder 
org.bouncycastle.asn1.x509.X509Name(Vector, Vector)
          use X500Name, X500NameBuilder 
org.bouncycastle.asn1.x509.X509Name(Vector, Vector, X509NameEntryConverter)
          use X500Name, X500NameBuilder 
org.bouncycastle.pqc.crypto.xwing.XWingPrivateKeyParameters(byte[], MLKEMPrivateKeyParameters, X25519PrivateKeyParameters, MLKEMPublicKeyParameters, X25519PublicKeyParameters)
          use the constructor taking org.bouncycastle.crypto.params.MLKEMKeyPublicKeyParameters 
 


Bouncy Castle Cryptography Library 1.85