Module java.base
Package java.security.interfaces

# Interface EdECPrivateKey

All Superinterfaces:
  `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

- ## Field Summary

  ### Fields declared in interface java.security.PrivateKey

  `serialVersionUID`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Optional<byte[]>`
  `getBytes()`
  Get a copy of the byte array representing the private key.

  ### Methods declared in interface javax.security.auth.Destroyable

  `destroy, isDestroyed`

  ### Methods declared in interface java.security.interfaces.EdECKey

  `getParams`

  ### Methods declared in interface java.security.Key

  `getAlgorithm, getEncoded, getFormat`

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