# Class PrivateKeyCallback

java.lang.Object
jakarta.security.auth.message.callback.PrivateKeyCallback

All Implemented Interfaces:
  `Callback`

public class PrivateKeyCallback extends Object implements Callback
A callback that enables an authentication module to request a certificate chain and private key from the runtime. The request identifies the desired key material using one of several `PrivateKeyCallback.Request` subtypes, such as keystore alias, certificate digest, subject key identifier, or issuer and serial number.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `PrivateKeyCallback.AliasRequest`
  A request to retrieve a certificate chain and private key by keystore alias.
  `static class`
  `PrivateKeyCallback.DigestRequest`
  A request to retrieve a certificate chain and private key by certificate digest value.
  `static class`
  `PrivateKeyCallback.IssuerSerialNumRequest`
  A request to retrieve a certificate chain and private key by the issuer distinguished name and certificate serial number.
  `static interface`
  `PrivateKeyCallback.Request`
  Base interface for private key requests.
  `static class`
  `PrivateKeyCallback.SubjectKeyIDRequest`
  A request to retrieve a certificate chain and private key by the Subject Key Identifier extension value.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PrivateKeyCallback(PrivateKeyCallback.Request request)`
  Creates a new `PrivateKeyCallback` with the specified request.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Certificate[]`
  `getChain()`
  Returns the certificate chain resolved by the runtime.
  `PrivateKey`
  `getKey()`
  Returns the private key resolved by the runtime.
  `PrivateKeyCallback.Request`
  `getRequest()`
  Returns the request associated with this callback.
  `void`
  `setKey(PrivateKey key, Certificate[] chain)`
  Sets the private key and certificate chain resolved by the runtime in response to the request.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### PrivateKeyCallback

    public PrivateKeyCallback(PrivateKeyCallback.Request request)
    Creates a new `PrivateKeyCallback` with the specified request.
    Parameters:
      `request` - the `Request` object identifying the desired certificate chain and private key

- ## Method Details

  - ### getRequest

    public PrivateKeyCallback.Request getRequest()
    Returns the request associated with this callback.
    Returns:
      the `Request` object

  - ### setKey

    public void setKey(PrivateKey key, Certificate[] chain)
    Sets the private key and certificate chain resolved by the runtime in response to the request.
    Parameters:
      `key` - the resolved `PrivateKey`
      `chain` - the corresponding certificate chain

  - ### getKey

    public PrivateKey getKey()
    Returns the private key resolved by the runtime.
    Returns:
      the `PrivateKey`, or `null` if not yet resolved

  - ### getChain

    public Certificate[] getChain()
    Returns the certificate chain resolved by the runtime.
    Returns:
      the certificate chain, or `null` if not yet resolved