# Interface EdECPrivateKey

All Superinterfaces:
  `AsymmetricKey, DEREncodablePREVIEW, Destroyable, EdECKey, Key, PrivateKey, Serializable`

public interface EdECPrivateKey extends EdECKey, PrivateKey
An interface for an elliptic curve private key as defined by RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA). These keys are distinct from the keys represented by `ECPrivateKey`, and they are intended for use with algorithms based on RFC 8032 such as the EdDSA `Signature` algorithm.

An Edwards-Curve private key is a bit string. This interface only supports bit string lengths that are a multiple of 8, and the key is represented using a byte array.

Since:
  15
External Specifications
  - RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA)

- ## Field Summary

  ### Fields declared in interface PrivateKey

  `serialVersionUID`
  Modifier and Type
  Field
  Description
  `static final long`
  `serialVersionUID`
  Deprecated.
  A `serialVersionUID` field in an interface is ineffectual.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Optional<byte[]>`
  `getBytes()`
  Get a copy of the byte array representing the private key.
  `default NamedParameterSpec`
  `getParams()`
  Returns the parameters associated with this key.

  ### Methods declared in interface Destroyable

  `destroy, isDestroyed`
  Modifier and Type
  Method
  Description
  `default void`
  `destroy()`
  Destroy this `Object`.
  `default boolean`
  `isDestroyed()`
  Determine if this `Object` has been destroyed.

  ### Methods declared in interface Key

  `getAlgorithm, getEncoded, getFormat`
  Modifier and Type
  Method
  Description
  `String`
  `getAlgorithm()`
  Returns the standard algorithm name for this key.
  `byte[]`
  `getEncoded()`
  Returns the key in its primary encoding format, or `null` if this key does not support encoding.
  `String`
  `getFormat()`
  Returns the name of the primary encoding format of this key, or `null` if this key does not support encoding.

- ## Method Details

  - ### getBytes

    Optional<byte[]> getBytes()
    Get a copy of the byte array representing the private key. This method may return an empty `Optional` if the implementation is not willing to produce the private key value.
    Returns:
      an `Optional` containing the private key byte array. If the key is not available, then an empty `Optional`.

  - ### getParams

    default NamedParameterSpec getParams()
    Returns the parameters associated with this key. The parameters are optional and may be either explicitly specified or implicitly created during key pair generation.
    Specified by:
      `getParams` in interface `AsymmetricKey`
    Specified by:
      `getParams` in interface `EdECKey`
    Implementation Requirements:
      The default implementation returns `null`.
    Returns:
      the associated parameters, may be `null`