-
Packages Package Description org.bouncycastle.jce.exception org.bouncycastle.pqc.crypto.lms this implementation has been promoted to org.bouncycastle.crypto - the key parameter classes to org.bouncycastle.crypto.params, the key pair generators to org.bouncycastle.crypto.generators, LMSSigner / HSSSigner and the LMSContextBased* interfaces to org.bouncycastle.crypto.signers, and LMSContext with the engine to org.bouncycastle.crypto.signers.lms. This package is scheduled for removal in the next release.org.bouncycastle.pqc.crypto.xmss this implementation has been promoted to org.bouncycastle.crypto - the key parameter classes to org.bouncycastle.crypto.params, the key pair generators to org.bouncycastle.crypto.generators, XMSSSigner / XMSSMTSigner to org.bouncycastle.crypto.signers, and the engine classes to org.bouncycastle.crypto.signers.xmss. This package is scheduled for removal in the next release.
-
Interfaces Interface Description org.bouncycastle.crypto.KeyEncapsulation org.bouncycastle.jcajce.provider.asymmetric.util.DSAEncoder No longer usedorg.bouncycastle.jce.exception.ExtException obsolete pre-1.4 cause-chaining shim; use the org.bouncycastle.jcajce.provider.util.SecurityExceptions factories (certPathValidatorException / certPathBuilderException / certificateEncodingException) or the standard java.security.cert exceptions directly.org.bouncycastle.jce.interfaces.ElGamalPublicKey just use DHPublicKey.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.crypto.lms.LMSContextBasedSigner useLMSContextBasedSignerinstead.org.bouncycastle.pqc.crypto.lms.LMSContextBasedVerifier useLMSContextBasedVerifierinstead.org.bouncycastle.pqc.crypto.xmss.XMSSOid this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.crypto.xmss.XMSSStoreableObjectInterface use Encodableorg.bouncycastle.pqc.jcajce.interfaces.StateAwareSignature it's better to avoid this and use extractKeyShard methods where possible.
-
Classes Class Description org.bouncycastle.asn1.OIDTokenizer Will be removedorg.bouncycastle.asn1.pkcs.RSAPrivateKeyStructure use RSAPrivateKeyorg.bouncycastle.asn1.sec.ECPrivateKeyStructure use ECPrivateKeyorg.bouncycastle.asn1.util.DERDump use ASN1Dump.org.bouncycastle.asn1.x509.PrivateKeyStatement use PrivateKeyPossessionStatementorg.bouncycastle.asn1.x509.RSAPublicKeyStructure use org.bouncycastle.asn1.pkcs.RSAPublicKeyorg.bouncycastle.asn1.x509.TBSCertificateStructure use TBSCertificateorg.bouncycastle.asn1.x509.X509CertificateStructure use org.bouncycastle.asn1.x509.Certificateorg.bouncycastle.asn1.x509.X509Extension use Extensionorg.bouncycastle.asn1.x509.X509Extensions useExtensionandExtensionsorg.bouncycastle.asn1.x509.X509ExtensionsGenerator use org.bouncycastle.asn1.x509.ExtensionsGeneratororg.bouncycastle.asn1.x509.X509Name use org.bouncycastle.asn1.x500.X500Name.org.bouncycastle.asn1.x509.X509NameTokenizer use X500NameTokenizerorg.bouncycastle.asn1.x9.DHDomainParameters use DomainParametersorg.bouncycastle.asn1.x9.DHValidationParms use ValidationParamsorg.bouncycastle.crypto.digests.AsconDigest use Ascon Hash 256 Digestorg.bouncycastle.crypto.digests.AsconXof Now superseded - please use AsconXof128org.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.crypto.engines.AsconEngine Now superseded. Please refer toAsconAEAD128Enginefor future implementations.org.bouncycastle.crypto.kems.ECIESKeyEncapsulation use ECIESKEMGenerator, ECIESKEMExtractororg.bouncycastle.crypto.kems.RSAKeyEncapsulation use RSAKEMGenerator, RSAKEMExtractororg.bouncycastle.crypto.modes.PaddedBlockCipher use org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher instead.org.bouncycastle.crypto.params.CCMParameters use AEADParametersorg.bouncycastle.crypto.signers.ECGOST3410_2012Signer UseECGOST3410Signerinstead.org.bouncycastle.crypto.util.Pack use org.bouncycastle.util.packorg.bouncycastle.jcajce.BCFKSStoreParameter This class does not support configuration on creation, use BCFKSLoadStoreParameter for best results.org.bouncycastle.jcajce.provider.config.PKCS12StoreParameter use org.bouncycastle.jcajce.PKCS12StoreParameterorg.bouncycastle.jcajce.provider.util.SecretKeyUtil class appears to be no longer in use, maybe getting imported by others though.org.bouncycastle.jcajce.spec.CompositeAlgorithmSpec creation of new legacy generic composite (id_alg_composite) signatures is no longer supported byorg.bouncycastle.operator.jcajce.JcaContentSignerBuilder- use a modern fixed-algorithm Composite ML-DSA key/signature algorithm instead.org.bouncycastle.jcajce.spec.KEMParameterSpec use KTSParameterSpecorg.bouncycastle.jce.PKCS10CertificationRequest use classes in org.bouncycastle.pkcs.org.bouncycastle.jce.PKCS12Util Replaced byorg.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.jce.provider.JDKPKCS12StoreParameter use org.bouncycastle.jcajce.config.PKCS12StoreParameterorg.bouncycastle.jce.provider.X509CertificateObject Do not use this class directly - either use org.bouncycastle.cert (bcpkix) or CertificateFactory.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.jce.spec.GOST28147ParameterSpec use org.bouncycastle.jcajce.spec.GOST28147ParameterSpecorg.bouncycastle.jce.spec.RepeatedSecretKeySpec use super class org.bouncycastle.jcajce.spec.RepeatedSecretKeySpecorg.bouncycastle.jce.X509Principal use the X500Name class.org.bouncycastle.pqc.crypto.lms.Composer the promoted implementation in org.bouncycastle.crypto.signers.lms keeps its encoding helpers internal; scheduled for removal with the rest of this package.org.bouncycastle.pqc.crypto.lms.HSSKeyGenerationParameters useHSSKeyGenerationParametersinstead.org.bouncycastle.pqc.crypto.lms.HSSKeyPairGenerator useHSSKeyPairGeneratorinstead.org.bouncycastle.pqc.crypto.lms.HSSPrivateKeyParameters useHSSPrivateKeyParametersinstead.org.bouncycastle.pqc.crypto.lms.HSSPublicKeyParameters useHSSPublicKeyParametersinstead.org.bouncycastle.pqc.crypto.lms.HSSSigner useHSSSignerinstead.org.bouncycastle.pqc.crypto.lms.LMOtsParameters useLMOtsParametersinstead.org.bouncycastle.pqc.crypto.lms.LMSContext useorg.bouncycastle.crypto.signers.LMSContextinstead.org.bouncycastle.pqc.crypto.lms.LMSigParameters useLMSigParametersinstead.org.bouncycastle.pqc.crypto.lms.LMSKeyGenerationParameters useLMSKeyGenerationParametersinstead.org.bouncycastle.pqc.crypto.lms.LMSKeyPairGenerator useLMSKeyPairGeneratorinstead.org.bouncycastle.pqc.crypto.lms.LMSKeyParameters useLMSKeyParametersinstead.org.bouncycastle.pqc.crypto.lms.LMSParameters useLMSParametersinstead.org.bouncycastle.pqc.crypto.lms.LMSPrivateKeyParameters useLMSPrivateKeyParametersinstead.org.bouncycastle.pqc.crypto.lms.LMSPublicKeyParameters useLMSPublicKeyParametersinstead.org.bouncycastle.pqc.crypto.lms.LMSSigner useLMSSignerinstead.org.bouncycastle.pqc.crypto.xmss.BDS useBDSinstead.org.bouncycastle.pqc.crypto.xmss.BDSStateMap useBDSStateMapinstead.org.bouncycastle.pqc.crypto.xmss.DefaultXMSSMTOid this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.crypto.xmss.DefaultXMSSOid this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.crypto.xmss.XMSS this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.crypto.xmss.XMSSAddress this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.crypto.xmss.XMSSKeyGenerationParameters useXMSSKeyGenerationParametersinstead.org.bouncycastle.pqc.crypto.xmss.XMSSKeyPairGenerator useXMSSKeyPairGeneratorinstead.org.bouncycastle.pqc.crypto.xmss.XMSSKeyParameters useXMSSKeyParametersinstead.org.bouncycastle.pqc.crypto.xmss.XMSSMT this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.crypto.xmss.XMSSMTKeyGenerationParameters useXMSSMTKeyGenerationParametersinstead.org.bouncycastle.pqc.crypto.xmss.XMSSMTKeyPairGenerator useXMSSMTKeyPairGeneratorinstead.org.bouncycastle.pqc.crypto.xmss.XMSSMTKeyParameters useXMSSMTKeyParametersinstead.org.bouncycastle.pqc.crypto.xmss.XMSSMTParameters useXMSSMTParametersinstead.org.bouncycastle.pqc.crypto.xmss.XMSSMTPrivateKeyParameters useXMSSMTPrivateKeyParametersinstead.org.bouncycastle.pqc.crypto.xmss.XMSSMTPublicKeyParameters useXMSSMTPublicKeyParametersinstead.org.bouncycastle.pqc.crypto.xmss.XMSSMTSignature this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.crypto.xmss.XMSSMTSigner useXMSSMTSignerinstead.org.bouncycastle.pqc.crypto.xmss.XMSSNode this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.crypto.xmss.XMSSParameters useXMSSParametersinstead.org.bouncycastle.pqc.crypto.xmss.XMSSPrivateKeyParameters useXMSSPrivateKeyParametersinstead.org.bouncycastle.pqc.crypto.xmss.XMSSPublicKeyParameters useXMSSPublicKeyParametersinstead.org.bouncycastle.pqc.crypto.xmss.XMSSReducedSignature this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.crypto.xmss.XMSSSignature this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.crypto.xmss.XMSSSigner useXMSSSignerinstead.org.bouncycastle.pqc.crypto.xmss.XMSSUtil this class is implementation detail of the XMSS / XMSS^MT engine, which has moved to org.bouncycastle.crypto.signers.xmss and is package-private there. Drive XMSS throughXMSSSigner/XMSSKeyPairGeneratorand the org.bouncycastle.crypto.params key classes instead; the engine operations those are built on are on org.bouncycastle.crypto.signers.xmss.XMSSEngine.org.bouncycastle.pqc.jcajce.provider.util.SpecUtil use org.bouncycastle.jcajce.util.SpecUtilorg.bouncycastle.pqc.jcajce.spec.LMSHSSParameterSpec use LMSKeyGenParameterSpecorg.bouncycastle.pqc.jcajce.spec.LMSParameterSpec use LMSKeyGenParameterSpecorg.bouncycastle.util.GF16 moved toGF16; this type now delegates there and will be removed in a future release.
-
Enums Enum Description org.bouncycastle.crypto.threshold.ShamirSecretSplitter.Mode no longer selects anything. Mode.Table indexed log/exp tables with the secret being split and with the share bytes, so which cache line it touched revealed them; both values now use the same constant-time arithmetic. UseShamirSecretSplitter.getInstance(Algorithm, int, SecureRandom), which takes no mode.
-
Exceptions Exceptions Description org.bouncycastle.jce.exception.ExtCertificateEncodingException org.bouncycastle.jce.exception.ExtCertPathBuilderException org.bouncycastle.jce.exception.ExtCertPathValidatorException org.bouncycastle.jce.exception.ExtIOException org.bouncycastle.pqc.crypto.ExhaustedPrivateKeyException use org.bouncycastle.crypto.ExhaustedPrivateKeyException instead. This class now extends it, so a catch of the replacement catches this one as well.