Module java.base
Package java.security

## Class KeyPair

- java.lang.Object
- - java.security.KeyPair

- All Implemented Interfaces:
    `Serializable`

      public final class KeyPair
      extends Object
      implements Serializable

  This class is a simple holder for a key pair (a public key and a private key). It does not enforce any security, and, when initialized, should be treated like a PrivateKey.
  Since:
    1.1
  See Also:
    `PublicKey`, `PrivateKey`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `KeyPair​(PublicKey publicKey, PrivateKey privateKey)` | Constructs a key pair from the given public key and private key.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `PrivateKey` | `getPrivate()` | Returns a reference to the private key component of this key pair.
    `PublicKey` | `getPublic()` | Returns a reference to the public key component of this key pair.

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### KeyPair

          public KeyPair​(PublicKey publicKey,
                         PrivateKey privateKey)

      Constructs a key pair from the given public key and private key.

      Note that this constructor only stores references to the public and private key components in the generated key pair. This is safe, because `Key` objects are immutable.

      Parameters:
        `publicKey` - the public key.
        `privateKey` - the private key.

  - ### Method Detail

    - #### getPublic

          public PublicKey getPublic()

      Returns a reference to the public key component of this key pair.
      Returns:
        a reference to the public key.

    - #### getPrivate

          public PrivateKey getPrivate()

      Returns a reference to the private key component of this key pair.
      Returns:
        a reference to the private key.