Serialized Form (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

# Serialized Form

- ## Package org.bouncycastle.asn1

  - ### Class org.bouncycastle.asn1.ASN1Exception extends java.io.IOException implements Serializable

    - ### Serialized Fields

      - #### cause

            java.lang.Throwable cause

  - ### Class org.bouncycastle.asn1.ASN1ParsingException extends java.lang.IllegalStateException implements Serializable

    - ### Serialized Fields

      - #### cause

            java.lang.Throwable cause

  - ### Class org.bouncycastle.asn1.DEREncodingException extends java.lang.IllegalStateException implements Serializable

- ## Package org.bouncycastle.asn1.eac

  - ### Class org.bouncycastle.asn1.eac.BidirectionalMap extends java.util.Hashtable implements Serializable

    serialVersionUID:
      -7457289971962812909L

    - ### Serialized Fields

      - #### reverseMap

            java.util.Hashtable<K,V> reverseMap

- ## Package org.bouncycastle.asn1.x509

  - ### Class org.bouncycastle.asn1.x509.NameConstraintValidatorException extends java.lang.Exception implements Serializable

- ## Package org.bouncycastle.crypto

  - ### Class org.bouncycastle.crypto.CryptoException extends java.lang.Exception implements Serializable

    - ### Serialized Fields

      - #### cause

            java.lang.Throwable cause

  - ### Class org.bouncycastle.crypto.CryptoServiceConstraintsException extends java.lang.RuntimeException implements Serializable

  - ### Class org.bouncycastle.crypto.CryptoServicesPermission extends java.security.Permission implements Serializable

    - ### Serialized Fields

      - #### actions

            java.util.Set<E> actions

  - ### Class org.bouncycastle.crypto.DataLengthException extends RuntimeCryptoException implements Serializable

  - ### Class org.bouncycastle.crypto.InvalidCipherTextException extends CryptoException implements Serializable

  - ### Class org.bouncycastle.crypto.MaxBytesExceededException extends RuntimeCryptoException implements Serializable

  - ### Class org.bouncycastle.crypto.OutputLengthException extends DataLengthException implements Serializable

  - ### Class org.bouncycastle.crypto.RuntimeCryptoException extends java.lang.RuntimeException implements Serializable

- ## Package org.bouncycastle.crypto.engines

  - ### Class org.bouncycastle.crypto.engines.CramerShoupCoreEngine.CramerShoupCiphertextException extends java.lang.Exception implements Serializable

    serialVersionUID:
      -6360977166495345076L

- ## Package org.bouncycastle.crypto.io

  - ### Class org.bouncycastle.crypto.io.CipherIOException extends java.io.IOException implements Serializable

    serialVersionUID:
      1L

    - ### Serialized Fields

      - #### cause

            java.lang.Throwable cause

  - ### Class org.bouncycastle.crypto.io.InvalidCipherTextIOException extends CipherIOException implements Serializable

    serialVersionUID:
      1L

- ## Package org.bouncycastle.crypto.prng

  - ### Class org.bouncycastle.crypto.prng.FixedSecureRandom extends java.security.SecureRandom implements Serializable

    - ### Serialized Fields

      - #### _data

            byte[] _data

      - #### _index

            int _index

      - #### _intPad

            int _intPad

  - ### Class org.bouncycastle.crypto.prng.SP800SecureRandom extends java.security.SecureRandom implements Serializable

    - ### Serialized Fields

      - #### drbgProvider

            org.bouncycastle.crypto.prng.DRBGProvider drbgProvider

      - #### predictionResistant

            boolean predictionResistant

      - #### randomSource

            java.security.SecureRandom randomSource

      - #### entropySource

            EntropySource entropySource

      - #### drbg

            SP80090DRBG drbg

  - ### Class org.bouncycastle.crypto.prng.X931SecureRandom extends java.security.SecureRandom implements Serializable

    - ### Serialized Fields

      - #### predictionResistant

            boolean predictionResistant

      - #### randomSource

            java.security.SecureRandom randomSource

      - #### drbg

            X931RNG drbg

- ## Package org.bouncycastle.crypto.util

  - ### Class org.bouncycastle.crypto.util.JournaledAlgorithm extends java.lang.Object implements Serializable

    - ### Serialization Methods

      - #### readObject

            private void readObject(java.io.ObjectInputStream in)
                             throws java.io.IOException,
                                    java.lang.ClassNotFoundException

        Throws:
          `java.io.IOException`
          `java.lang.ClassNotFoundException`

      - #### writeObject

            private void writeObject(java.io.ObjectOutputStream out)
                              throws java.io.IOException

        Throws:
          `java.io.IOException`

  - ### Class org.bouncycastle.crypto.util.JournalingSecureRandom extends java.security.SecureRandom implements Serializable

    - ### Serialized Fields

      - #### base

            java.security.SecureRandom base

      - #### tOut

            org.bouncycastle.crypto.util.JournalingSecureRandom.TranscriptStream tOut

      - #### transcript

            byte[] transcript

      - #### index

            int index

- ## Package org.bouncycastle.math.ec.test

  - ### Class org.bouncycastle.math.ec.test.TnafTest extends java.lang.Object implements Serializable

- ## Package org.bouncycastle.pqc.crypto

  - ### Class org.bouncycastle.pqc.crypto.ExhaustedPrivateKeyException extends java.lang.IllegalStateException implements Serializable

- ## Package org.bouncycastle.pqc.crypto.test

  - ### Class org.bouncycastle.pqc.crypto.test.NISTSecureRandom extends java.security.SecureRandom implements Serializable

    - ### Serialized Fields

      - #### seed

            byte[] seed

      - #### personalization

            byte[] personalization

      - #### key

            byte[] key

      - #### v

            byte[] v

  - ### Class org.bouncycastle.pqc.crypto.test.NullPRNG extends java.security.SecureRandom implements Serializable

    serialVersionUID:
      1L

- ## Package org.bouncycastle.pqc.crypto.xmss

  - ### Class org.bouncycastle.pqc.crypto.xmss.BDS extends java.lang.Object implements Serializable

    serialVersionUID:
      1L

    - ### Serialization Methods

      - #### readObject

            private void readObject(java.io.ObjectInputStream in)
                             throws java.io.IOException,
                                    java.lang.ClassNotFoundException

        Throws:
          `java.io.IOException`
          `java.lang.ClassNotFoundException`

      - #### writeObject

            private void writeObject(java.io.ObjectOutputStream out)
                              throws java.io.IOException

        Throws:
          `java.io.IOException`

    - ### Serialized Fields

      - #### treeHeight

            int treeHeight

      - #### treeHashInstances

            java.util.List<E> treeHashInstances

      - #### k

            int k

      - #### root

            XMSSNode root

      - #### authenticationPath

            java.util.List<E> authenticationPath

      - #### retain

            java.util.Map<K,V> retain

      - #### stack

            java.util.Stack<E> stack

      - #### keep

            java.util.Map<K,V> keep

      - #### index

            int index

      - #### used

            boolean used

  - ### Class org.bouncycastle.pqc.crypto.xmss.BDSStateMap extends java.lang.Object implements Serializable

    serialVersionUID:
      -3464451825208522308L

    - ### Serialization Methods

      - #### readObject

            private void readObject(java.io.ObjectInputStream in)
                             throws java.io.IOException,
                                    java.lang.ClassNotFoundException

        Throws:
          `java.io.IOException`
          `java.lang.ClassNotFoundException`

      - #### writeObject

            private void writeObject(java.io.ObjectOutputStream out)
                              throws java.io.IOException

        Throws:
          `java.io.IOException`

    - ### Serialized Fields

      - #### bdsState

            java.util.Map<K,V> bdsState

  - ### Class org.bouncycastle.pqc.crypto.xmss.XMSSNode extends java.lang.Object implements Serializable

    serialVersionUID:
      1L

    - ### Serialized Fields

      - #### height

            int height

      - #### value

            byte[] value

- ## Package org.bouncycastle.util

  - ### Class org.bouncycastle.util.AggregateRuntimeException extends java.lang.RuntimeException implements Serializable

    - ### Serialized Fields

      - #### exceptions

            java.util.List<E> exceptions

  - ### Class org.bouncycastle.util.MemoableResetException extends java.lang.ClassCastException implements Serializable

  - ### Class org.bouncycastle.util.StoreException extends java.lang.RuntimeException implements Serializable

    - ### Serialized Fields

      - #### _e

            java.lang.Throwable _e

  - ### Class org.bouncycastle.util.StreamParsingException extends java.lang.Exception implements Serializable

    - ### Serialized Fields

      - #### _e

            java.lang.Throwable _e

- ## Package org.bouncycastle.util.encoders

  - ### Class org.bouncycastle.util.encoders.DecoderException extends java.lang.IllegalStateException implements Serializable

    - ### Serialized Fields

      - #### cause

            java.lang.Throwable cause

  - ### Class org.bouncycastle.util.encoders.EncoderException extends java.lang.IllegalStateException implements Serializable

    - ### Serialized Fields

      - #### cause

            java.lang.Throwable cause

- ## Package org.bouncycastle.util.io

  - ### Class org.bouncycastle.util.io.StreamOverflowException extends java.io.IOException implements Serializable

- ## Package org.bouncycastle.util.io.pem

  - ### Class org.bouncycastle.util.io.pem.PemGenerationException extends java.io.IOException implements Serializable

    - ### Serialized Fields

      - #### cause

            java.lang.Throwable cause

- ## Package org.bouncycastle.util.test

  - ### Class org.bouncycastle.util.test.FixedSecureRandom extends java.security.SecureRandom implements Serializable

    - ### Serialized Fields

      - #### _data

            byte[] _data

      - #### _index

            int _index

  - ### Class org.bouncycastle.util.test.TestFailedException extends java.lang.RuntimeException implements Serializable

    - ### Serialized Fields

      - #### _result

            TestResult _result

  - ### Class org.bouncycastle.util.test.TestRandomBigInteger extends FixedSecureRandom implements Serializable

  - ### Class org.bouncycastle.util.test.TestRandomData extends FixedSecureRandom implements Serializable