# 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`