Class BCMLDSAPrivateKey

java.lang.Object
org.bouncycastle.jcajce.provider.asymmetric.mldsa.BCMLDSAPrivateKey
All Implemented Interfaces:
Serializable, AsymmetricKey, DEREncodablePREVIEW, Key, PrivateKey, Destroyable, BCKey, MLDSAKey, MLDSAPrivateKey

public class BCMLDSAPrivateKey extends Object implements MLDSAPrivateKey, BCKey
See Also:
  • Constructor Details

  • Method Details

    • equals

      public boolean equals(Object o)
      Compare this ML-DSA private key with another object.
      Overrides:
      equals in class Object
      Parameters:
      o - the other object
      Returns:
      the result of the comparison
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getAlgorithm

      public final String getAlgorithm()
      Specified by:
      getAlgorithm in interface Key
      Returns:
      name of the algorithm
    • getPrivateKey

      public MLDSAPrivateKey getPrivateKey(boolean preferSeedOnly)
      Description copied from interface: MLDSAPrivateKey
      Return a privateKey which will encode as seed-only or as an expanded-key.
      Specified by:
      getPrivateKey in interface MLDSAPrivateKey
      Parameters:
      preferSeedOnly - if true, return a privateKey which will encode to seed-only if possible.
      Returns:
      a new MLDSAPrivateKey which encodes to either seed-only or expanded-key.
    • getEncoded

      public byte[] getEncoded()
      Specified by:
      getEncoded in interface Key
    • getPublicKey

      public MLDSAPublicKey getPublicKey()
      Description copied from interface: MLDSAPrivateKey
      Return the public key corresponding to this private key.
      Specified by:
      getPublicKey in interface MLDSAPrivateKey
      Returns:
      a ML-DSA Public Key
    • getPrivateData

      public byte[] getPrivateData()
      Description copied from interface: MLDSAPrivateKey
      Return the long form private data for the ML-DSA private key.
      Specified by:
      getPrivateData in interface MLDSAPrivateKey
      Returns:
      long form private data for private key.
    • getSeed

      public byte[] getSeed()
      Description copied from interface: MLDSAPrivateKey
      Return the seed the private key was generated from (if available).
      Specified by:
      getSeed in interface MLDSAPrivateKey
      Returns:
      the seed for the private key, null if not available.
    • getParameterSpec

      public MLDSAParameterSpec getParameterSpec()
      Description copied from interface: MLDSAKey
      Return the parameters for this key.
      Specified by:
      getParameterSpec in interface MLDSAKey
      Returns:
      a MLDSAParameterSpec
    • getFormat

      public String getFormat()
      Specified by:
      getFormat in interface Key
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • destroy

      public void destroy()
      Destroy this key, zeroizing the secret key material it holds.

      After destruction isDestroyed() returns true and the secret-bearing accessors (such as getEncoded(), getPrivateData() and getSeed()) throw IllegalStateException. As the underlying parameter arrays may be shared with keys derived from this one, destruction invalidates those references too.

      Specified by:
      destroy in interface Destroyable
    • isDestroyed

      public boolean isDestroyed()
      Specified by:
      isDestroyed in interface Destroyable