Bouncy Castle Cryptography Library 1.77.0

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.x509.AttributeCertificateHolder
          use org.bouncycastle.cert.AttributeCertificateHolder 
org.bouncycastle.x509.extension.AuthorityKeyIdentifierStructure
          use JcaX509ExtensionUtils and AuthorityKeyIdentifier.getInstance() 
org.bouncycastle.asn1.BERBitStringParser
          Check for 'ASN1BitStringParser' instead 
org.bouncycastle.asn1.BEROctetStringParser
          Check for 'ASN1OctetStringParser' instead 
org.bouncycastle.asn1.BERSequenceParser
          Check for 'ASN1SequenceParser' instead 
org.bouncycastle.asn1.BERSetParser
          Check for 'ASN1SetParser' instead 
org.bouncycastle.crypto.params.CCMParameters
          use AEADParameters 
org.bouncycastle.asn1.util.DERDump
          use ASN1Dump. 
org.bouncycastle.asn1.DEROctetStringParser
          Check for 'ASN1OctetStringParser' instead 
org.bouncycastle.asn1.x9.DHDomainParameters
          use DomainParameters 
org.bouncycastle.asn1.x9.DHValidationParms
          use ValidationParams 
org.bouncycastle.asn1.DLBitStringParser
          Check for 'ASN1BitStringParser' instead 
org.bouncycastle.asn1.DLSequenceParser
          Check for 'ASN1SequenceParser' instead 
org.bouncycastle.asn1.DLSetParser
          Check for 'ASN1SetParser' instead 
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.jce.spec.GOST28147ParameterSpec
          use org.bouncycastle.jcajce.spec.GOST28147ParameterSpec 
org.bouncycastle.jcajce.spec.KEMParameterSpec
          use KTSParameterSpec 
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.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.asn1.x509.TBSCertificateStructure
          use TBSCertificate 
org.bouncycastle.x509.X509Attribute
          see X509CertificateHolder class in the PKIX package. 
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.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.x509.extension.X509ExtensionUtil
          use org.bouncycastle.cert.jcajce.JcaX509ExtensionUtils 
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. 
org.bouncycastle.x509.X509Store
          use CollectionStore - this class will be removed. 
org.bouncycastle.x509.X509V1CertificateGenerator
          use org.bouncycastle.cert.X509v1CertificateBuilder. 
org.bouncycastle.x509.X509V2AttributeCertificate
          use org.bouncycastle.cert.X509AttributeCertificateHolder 
org.bouncycastle.x509.X509V2CRLGenerator
          use org.bouncycastle.cert.X509v2CRLBuilder. 
org.bouncycastle.x509.X509V3CertificateGenerator
          use org.bouncycastle.cert.X509v3CertificateBuilder. 
 

Deprecated Interfaces
org.bouncycastle.jcajce.provider.asymmetric.util.DSAEncoder
          No longer used 
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.x509.X509AttributeCertificate
          use X509CertificateHolder class in the PKIX package. 
 

Deprecated Fields
org.bouncycastle.asn1.x509.CRLReason.AA_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.AA_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.cmp.PKIFailureInfo.ADD_INFO_NOT_AVAILABLE
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.AFFILIATION_CHANGED
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.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.cmp.PKIFailureInfo.BAD_ALG
          use lower case version 
org.bouncycastle.asn1.cmp.PKIFailureInfo.BAD_CERT_ID
          use lower case version 
org.bouncycastle.asn1.cmp.PKIFailureInfo.BAD_DATA_FORMAT
          use lower case version 
org.bouncycastle.asn1.cmp.PKIFailureInfo.BAD_MESSAGE_CHECK
          use lower case version 
org.bouncycastle.asn1.cmp.PKIFailureInfo.BAD_POP
          use lower case version 
org.bouncycastle.asn1.cmp.PKIFailureInfo.BAD_REQUEST
          use lower case version 
org.bouncycastle.asn1.cmp.PKIFailureInfo.BAD_TIME
          use lower case version 
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.CRLReason.CA_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.CA_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.CERTIFICATE_HOLD
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.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.CRLReason.CESSATION_OF_OPERATION
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.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.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.cmp.PKIFailureInfo.INCORRECT_DATA
          use lower case version 
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.asn1.x509.CRLReason.KEY_COMPROMISE
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.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.cmp.PKIFailureInfo.MISSING_TIME_STAMP
          use lower case version 
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.CRLReason.PRIVILEGE_WITHDRAWN
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.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.CRLReason.SUPERSEDED
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.SUPERSEDED
          use lower case version 
org.bouncycastle.asn1.x509.X509Name.SymbolLookUp
          use DefaultLookUp 
org.bouncycastle.asn1.cmp.PKIFailureInfo.SYSTEM_FAILURE
          use lower case version 
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.asn1.cmp.PKIFailureInfo.TIME_NOT_AVAILABLE
          use lower case version 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_IMPLICIT
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_IMPLICIT
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_IMPLICIT
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_RIPEMD128
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_RIPEMD128
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_RIPEMD128
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_RIPEMD160
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_RIPEMD160
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_RIPEMD160
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_SHA1
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_SHA1
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_SHA1
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_SHA224
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_SHA256
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_SHA256
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_SHA256
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_SHA384
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_SHA384
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_SHA384
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_SHA512
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_SHA512
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_SHA512
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner.TRAILER_WHIRLPOOL
          use ISOTrailers 
org.bouncycastle.crypto.signers.ISO9796d2Signer.TRAILER_WHIRLPOOL
          use ISOTrailers 
org.bouncycastle.crypto.signers.X931Signer.TRAILER_WHIRLPOOL
          use ISOTrailers 
org.bouncycastle.asn1.cmp.PKIFailureInfo.UNACCEPTED_EXTENSION
          use lower case version 
org.bouncycastle.asn1.cmp.PKIFailureInfo.UNACCEPTED_POLICY
          use lower case version 
org.bouncycastle.asn1.x509.CRLReason.UNSPECIFIED
          use lower case version 
org.bouncycastle.asn1.x509.ReasonFlags.UNUSED
          use lower case version 
org.bouncycastle.asn1.cmp.PKIFailureInfo.WRONG_AUTHORITY
          use lower case version 
org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.x509certType
          use x509Certificate instead 
 

Deprecated Methods
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.JcaJceHelper.createDigest(String)
          Use createMessageDigest instead 
org.bouncycastle.jcajce.util.ProviderJcaJceHelper.createDigest(String)
          Use createMessageDigest instead 
org.bouncycastle.jcajce.util.DefaultJcaJceHelper.createDigest(String)
          Use createMessageDigest instead 
org.bouncycastle.jcajce.util.NamedJcaJceHelper.createDigest(String)
          Use createMessageDigest 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.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.ISOSignatureSpi.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.rsa.X931SignatureSpi.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.util.DSABase.engineGetParameter(String)
            
org.bouncycastle.jcajce.provider.asymmetric.dsa.DSASigner.engineSetParameter(String, Object)
          replaced with  
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.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.rsa.X931SignatureSpi.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.util.JcaJceUtils.extractParameters(AlgorithmParameters)
          use AlgorithmParametersUtils.extractParameters(AlgorithmParameters params) 
org.bouncycastle.x509.extension.X509ExtensionUtil.fromExtensionValue(byte[])
          use org.bouncycastle.cert.jcajce.JcaX509ExtensionUtils.parseExtensionValue() 
org.bouncycastle.x509.X509V1CertificateGenerator.generateX509Certificate(PrivateKey)
          use generate(key, "BC") 
org.bouncycastle.x509.X509V3CertificateGenerator.generateX509Certificate(PrivateKey)
          use generate(key, "BC") 
org.bouncycastle.x509.X509V1CertificateGenerator.generateX509Certificate(PrivateKey, SecureRandom)
          use generate(key, random, "BC") 
org.bouncycastle.x509.X509V3CertificateGenerator.generateX509Certificate(PrivateKey, SecureRandom)
          use generate(key, random, "BC") 
org.bouncycastle.x509.X509V1CertificateGenerator.generateX509Certificate(PrivateKey, String)
          use generate() 
org.bouncycastle.x509.X509V3CertificateGenerator.generateX509Certificate(PrivateKey, String)
          use generate() 
org.bouncycastle.x509.X509V1CertificateGenerator.generateX509Certificate(PrivateKey, String, SecureRandom)
          use generate() 
org.bouncycastle.x509.X509V3CertificateGenerator.generateX509Certificate(PrivateKey, String, SecureRandom)
          use generate() 
org.bouncycastle.x509.X509V2CRLGenerator.generateX509CRL(PrivateKey)
          use generate(key, "BC") 
org.bouncycastle.x509.X509V2CRLGenerator.generateX509CRL(PrivateKey, SecureRandom)
          use generate(key, random, "BC") 
org.bouncycastle.x509.X509V2CRLGenerator.generateX509CRL(PrivateKey, String)
          use generate() 
org.bouncycastle.x509.X509V2CRLGenerator.generateX509CRL(PrivateKey, String, SecureRandom)
          use generate() 
org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getAlgorithmId()
          use getAlgorithm() 
org.bouncycastle.crypto.signers.RSADigestSigner.getAlgorithmName()
            
org.bouncycastle.asn1.cms.TimeStampAndCRL.getCertificateList()
          use getCRL() 
org.bouncycastle.asn1.mozilla.PublicKeyAndChallenge.getChallenge()
          Use PublicKeyAndChallenge.getChallengeIA5() instead. 
org.bouncycastle.asn1.cmc.CMCStatusInfoV2.getcMCStatus()
          use getCMCStatus(); 
org.bouncycastle.asn1.cmc.RevokeRequest.getComment()
          Use RevokeRequest.getCommentUTF8() instead. 
org.bouncycastle.asn1.ess.ContentHints.getContentDescription()
          Use ContentHints.getContentDescriptionUTF8() instead. 
org.bouncycastle.asn1.esf.SignerLocation.getCountryName()
          use getCountry() 
org.bouncycastle.asn1.ocsp.CrlID.getCrlUrl()
          Use CrlID.getCrlUrlIA5() instead. 
org.bouncycastle.asn1.cms.TimeStampedDataParser.getDataUri()
          Use TimeStampedDataParser.getDataUriIA5() instead. 
org.bouncycastle.asn1.cms.TimeStampedData.getDataUri()
          Use TimeStampedData.getDataUriIA5() 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.cms.MetaData.getFileName()
          Use MetaData.getFileNameUTF8() instead. 
org.bouncycastle.asn1.bc.ExternalValue.getHashVal()
          use getHash(), the internal encoding is now an OCTET STRING 
org.bouncycastle.asn1.tsp.EncryptionInfo.getInstance(ASN1Object)
          Use EncryptionInfo.getInstance(Object) instead. 
org.bouncycastle.x509.extension.X509ExtensionUtil.getIssuerAlternativeNames(X509Certificate)
          use org.bouncycastle.cert.jcajce.JcaX509ExtensionUtils.getIssuerAlternativeNames() 
org.bouncycastle.asn1.cryptopro.GOST3410ParamSetParameters.getLKeySize()
          use getKeySize 
org.bouncycastle.asn1.esf.SignerLocation.getLocalityName()
          use getLocality() 
org.bouncycastle.asn1.cms.MetaData.getMediaType()
          Use MetaData.getMediaTypeIA5() instead. 
org.bouncycastle.asn1.sec.ECPrivateKey.getParameters()
          Use ECPrivateKey.getParametersObject() instead and getInstance methods or similar to get the object at the desired type. 
org.bouncycastle.jce.interfaces.ECKey.getParams()
          this method vanises in JDK 1.5. Use getParameters(). 
org.bouncycastle.asn1.crmf.CertReqMsg.getPopo()
          use getPop 
org.bouncycastle.asn1.cms.OriginatorPublicKey.getPublicKey()
          Use OriginatorPublicKey.getPublicKeyData() 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.cmc.CMCStatusInfoV2.getStatusString()
          Use CMCStatusInfoV2.getStatusStringUTF8() instead. 
org.bouncycastle.asn1.cmc.CMCStatusInfo.getStatusString()
          Use CMCStatusInfo.getStatusStringUTF8() instead. 
org.bouncycastle.asn1.cmp.PKIFreeText.getStringAt(int)
          Use PKIFreeText.getStringAtUTF8(int) instead. 
org.bouncycastle.x509.extension.X509ExtensionUtil.getSubjectAlternativeNames(X509Certificate)
          use org.bouncycastle.cert.jcajce.JcaX509ExtensionUtils.getSubjectAlternativeNames() 
org.bouncycastle.asn1.cmp.CRLStatus.getTime()
          Use CRLStatus.getThisUpdate() instead. 
org.bouncycastle.asn1.cmp.CMPCertificate.getX509v2AttrCert()
          use getOtherCert and getOtherTag to make sure message is really what it should be. 
org.bouncycastle.jcajce.util.JcaJceUtils.loadParameters(AlgorithmParameters, ASN1Encodable)
          use AlgorithmParametersUtils.loadParameters(AlgorithmParameters params, ASN1Encodable sParams) 
org.bouncycastle.util.Pack.longToBigEndian(long, byte[], int, int)
          Will be removed 
org.bouncycastle.asn1.crmf.CertTemplateBuilder.setExtensions(X509Extensions)
          use method taking Extensions 
org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.setExtensions(X509Extensions)
          use method taking Extensions 
org.bouncycastle.asn1.x509.V2AttributeCertificateInfoGenerator.setExtensions(X509Extensions)
          use method taking Extensions 
org.bouncycastle.asn1.x509.V2TBSCertListGenerator.setIssuer(X509Name)
          use X500Name method 
org.bouncycastle.asn1.x509.V3TBSCertificateGenerator.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.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.x509.extension.AuthorityKeyIdentifierStructure(X509Extension)
          use constructor that takes Extension 
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.cmp.CertAnnContent(AttributeCertificate)
          use (type, otherCert) constructor 
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.asn1.cmp.CMPCertificate(AttributeCertificate)
          use (type, otherCert) constructor 
org.bouncycastle.asn1.DERExternal(ASN1EncodableVector)
          Use DERExternal.DERExternal(DERSequence) instead. 
org.bouncycastle.asn1.DLExternal(ASN1EncodableVector)
          Use DLExternal.DLExternal(DLSequence) instead. 
org.bouncycastle.asn1.sec.ECPrivateKey(BigInteger)
          use constructor which takes orderBitLength to guarantee correct encoding. 
org.bouncycastle.asn1.sec.ECPrivateKey(BigInteger, ASN1BitString, ASN1Encodable)
          use constructor which takes orderBitLength to guarantee correct encoding. 
org.bouncycastle.asn1.sec.ECPrivateKey(BigInteger, ASN1Encodable)
          use constructor which takes orderBitLength to guarantee correct encoding. 
org.bouncycastle.asn1.x509.ExtendedKeyUsage(Vector)
          use KeyPurposeId[] constructor. 
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.asn1.cms.IssuerAndSerialNumber(ASN1Sequence)
          use getInstance() method. 
org.bouncycastle.asn1.cms.IssuerAndSerialNumber(X509CertificateStructure)
          use constructor taking Certificate 
org.bouncycastle.asn1.cms.IssuerAndSerialNumber(X509Name, ASN1Integer)
          use X500Name constructor 
org.bouncycastle.asn1.cms.IssuerAndSerialNumber(X509Name, BigInteger)
          use X500Name constructor 
org.bouncycastle.crypto.macs.OldHMac(Digest)
          uses incorrect pad for SHA-512 and SHA-384 use HMac. 
org.bouncycastle.asn1.cms.OriginatorIdentifierOrKey(ASN1OctetString)
          use version taking a SubjectKeyIdentifier 
org.bouncycastle.asn1.cms.OriginatorIdentifierOrKey(ASN1Primitive)
          use more specific version 
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.asn1.cmp.RevDetails(CertTemplate, 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.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 
 


Bouncy Castle Cryptography Library 1.77.0