X500PrivateCredential (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: javax.security.auth.x500, class: X500PrivateCredential
Keywords: javax.security.auth.x500.X500PrivateCredential class

# Class X500PrivateCredential

java.lang.Object
javax.security.auth.x500.X500PrivateCredential

All Implemented Interfaces:
  `Destroyable`

public final class X500PrivateCredential extends Object implements Destroyable

This class represents an `X500PrivateCredential`. It associates an X.509 certificate, corresponding private key and the KeyStore alias used to reference that exact key pair in the KeyStore. This enables looking up the private credentials for an X.500 principal in a subject.

Since:
  1.4

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `X500PrivateCredential(X509Certificate cert, PrivateKey key)`
  Creates an X500PrivateCredential that associates an X.509 certificate, a private key and the KeyStore alias.
  `X500PrivateCredential(X509Certificate cert, PrivateKey key, String alias)`
  Creates an X500PrivateCredential that associates an X.509 certificate, a private key and the KeyStore alias.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `destroy()`
  Clears the references to the X.509 certificate, private key and the KeyStore alias in this object.
  `String`
  `getAlias()`
  Returns the KeyStore alias.
  `X509Certificate`
  `getCertificate()`
  Returns the X.509 certificate.
  `PrivateKey`
  `getPrivateKey()`
  Returns the PrivateKey.
  `boolean`
  `isDestroyed()`
  Determines if the references to the X.509 certificate and private key in this object have been cleared.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### X500PrivateCredential

    public X500PrivateCredential(X509Certificate cert, PrivateKey key)
    Creates an X500PrivateCredential that associates an X.509 certificate, a private key and the KeyStore alias.
    Parameters:
      `cert` - X509Certificate
      `key` - PrivateKey for the certificate
    Throws:
      `IllegalArgumentException` - if either `cert` or `key` is null

  - ### X500PrivateCredential

    public X500PrivateCredential(X509Certificate cert, PrivateKey key, String alias)
    Creates an X500PrivateCredential that associates an X.509 certificate, a private key and the KeyStore alias.
    Parameters:
      `cert` - X509Certificate
      `key` - PrivateKey for the certificate
      `alias` - KeyStore alias
    Throws:
      `IllegalArgumentException` - if either `cert`, `key` or `alias` is null

- ## Method Details

  - ### getCertificate

    public X509Certificate getCertificate()
    Returns the X.509 certificate.
    Returns:
      the X509Certificate

  - ### getPrivateKey

    public PrivateKey getPrivateKey()
    Returns the PrivateKey.
    Returns:
      the PrivateKey

  - ### getAlias

    public String getAlias()
    Returns the KeyStore alias.
    Returns:
      the KeyStore alias

  - ### destroy

    public void destroy()
    Clears the references to the X.509 certificate, private key and the KeyStore alias in this object.
    Specified by:
      `destroy` in interface `Destroyable`

  - ### isDestroyed

    public boolean isDestroyed()
    Determines if the references to the X.509 certificate and private key in this object have been cleared.
    Specified by:
      `isDestroyed` in interface `Destroyable`
    Returns:
      true if X509Certificate and the PrivateKey are null