Module java.base
Package java.security

# Class KeyStore.PrivateKeyEntry

java.lang.Object
java.security.KeyStore.PrivateKeyEntry

All Implemented Interfaces:
  `KeyStore.Entry`

Enclosing class:
  `KeyStore`

public static final class KeyStore.PrivateKeyEntry extends Object implements KeyStore.Entry
A `KeyStore` entry that holds a `PrivateKey` and corresponding certificate chain.

Since:
  1.5

## Nested Class Summary

## Nested classes/interfaces declared in interface java.security.KeyStore.Entry

`KeyStore.Entry.Attribute`

## Constructor Summary

Constructors
Constructor
Description
`PrivateKeyEntry(PrivateKey privateKey, Certificate[] chain)`
Constructs a `PrivateKeyEntry` with a `PrivateKey` and corresponding certificate chain.
`PrivateKeyEntry(PrivateKey privateKey, Certificate[] chain, Set<KeyStore.Entry.Attribute> attributes)`
Constructs a `PrivateKeyEntry` with a `PrivateKey` and corresponding certificate chain and associated entry attributes.

## Method Summary

Modifier and Type
Method
Description
`Set<KeyStore.Entry.Attribute>`
`getAttributes()`
Retrieves the attributes associated with an entry.
`Certificate`
`getCertificate()`
Gets the end entity `Certificate` from the certificate chain in this entry.
`Certificate[]`
`getCertificateChain()`
Gets the `Certificate` chain from this entry.
`PrivateKey`
`getPrivateKey()`
Gets the `PrivateKey` from this entry.
`String`
`toString()`
Returns a string representation of this PrivateKeyEntry.

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

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

## Constructor Details

### PrivateKeyEntry

public PrivateKeyEntry(PrivateKey privateKey, Certificate[] chain)
Constructs a `PrivateKeyEntry` with a `PrivateKey` and corresponding certificate chain.

The specified `chain` is cloned before it is stored in the new `PrivateKeyEntry` object.

Parameters:
  `privateKey` - the `PrivateKey`
  `chain` - an array of `Certificate`s representing the certificate chain. The chain must be ordered and contain a `Certificate` at index 0 corresponding to the private key.
Throws:
  `NullPointerException` - if `privateKey` or `chain` is `null`
  `IllegalArgumentException` - if the specified chain has a length of 0, if the specified chain does not contain `Certificate`s of the same type, or if the `PrivateKey` algorithm does not match the algorithm of the `PublicKey` in the end entity `Certificate` (at index 0)

### PrivateKeyEntry

public PrivateKeyEntry(PrivateKey privateKey, Certificate[] chain, Set<KeyStore.Entry.Attribute> attributes)
Constructs a `PrivateKeyEntry` with a `PrivateKey` and corresponding certificate chain and associated entry attributes.

The specified `chain` and `attributes` are cloned before they are stored in the new `PrivateKeyEntry` object.

Parameters:
  `privateKey` - the `PrivateKey`
  `chain` - an array of `Certificate`s representing the certificate chain. The chain must be ordered and contain a `Certificate` at index 0 corresponding to the private key.
  `attributes` - the attributes
Throws:
  `NullPointerException` - if `privateKey`, `chain` or `attributes` is `null`
  `IllegalArgumentException` - if the specified chain has a length of 0, if the specified chain does not contain `Certificate`s of the same type, or if the `PrivateKey` algorithm does not match the algorithm of the `PublicKey` in the end entity `Certificate` (at index 0)
Since:
  1.8

## Method Details

### getPrivateKey

public PrivateKey getPrivateKey()
Gets the `PrivateKey` from this entry.

Returns:
  the `PrivateKey` from this entry

### getCertificateChain

public Certificate[] getCertificateChain()
Gets the `Certificate` chain from this entry.

The stored chain is cloned before being returned.

Returns:
  an array of `Certificate`s corresponding to the certificate chain for the public key. If the certificates are of type X.509, the runtime type of the returned array is `X509Certificate[]`.

### getCertificate

public Certificate getCertificate()
Gets the end entity `Certificate` from the certificate chain in this entry.

Returns:
  the end entity `Certificate` (at index 0) from the certificate chain in this entry. If the certificate is of type X.509, the runtime type of the returned certificate is `X509Certificate`.

### getAttributes

public Set<KeyStore.Entry.Attribute> getAttributes()
Retrieves the attributes associated with an entry.

Specified by:
  `getAttributes` in interface `KeyStore.Entry`
Returns:
  an unmodifiable `Set` of attributes, possibly empty
Since:
  1.8

### toString

public String toString()
Returns a string representation of this PrivateKeyEntry.

Overrides:
  `toString` in class `Object`
Returns:
  a string representation of this PrivateKeyEntry.