CodeSigner (Java SE 22 & JDK 22)
Description: declaration: module: java.base, package: java.security, class: CodeSigner
Keywords: java.security.CodeSigner class

Module java.base
Package java.security

# Class CodeSigner

java.lang.Object
java.security.CodeSigner

All Implemented Interfaces:
  `Serializable`

public final class CodeSigner extends Object implements Serializable
This class encapsulates information about a code signer. It is immutable.

Since:
  1.5
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CodeSigner(CertPath signerCertPath, Timestamp timestamp)`
  Constructs a `CodeSigner` object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Tests for equality between the specified object and this code signer.
  `CertPath`
  `getSignerCertPath()`
  Returns the signer's certificate path.
  `Timestamp`
  `getTimestamp()`
  Returns the signature timestamp.
  `int`
  `hashCode()`
  Returns the hash code value for this code signer.
  `String`
  `toString()`
  Returns a string describing this code signer.

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

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

- ## Constructor Details

  - ### CodeSigner

    public CodeSigner(CertPath signerCertPath, Timestamp timestamp)
    Constructs a `CodeSigner` object.
    Parameters:
      `signerCertPath` - The signer's certificate path. It must not be `null`.
      `timestamp` - A signature timestamp. If `null` then no timestamp was generated for the signature.
    Throws:
      `NullPointerException` - if `signerCertPath` is `null`.

- ## Method Details

  - ### getSignerCertPath

    public CertPath getSignerCertPath()
    Returns the signer's certificate path.
    Returns:
      A certificate path.

  - ### getTimestamp

    public Timestamp getTimestamp()
    Returns the signature timestamp.
    Returns:
      The timestamp or `null` if none is present.

  - ### hashCode

    public int hashCode()
    Returns the hash code value for this code signer. The hash code is generated using the signer's certificate path and the timestamp, if present.
    Overrides:
      `hashCode` in class `Object`
    Returns:
      the hash code value for this code signer
    See Also:
      - `Object.equals(java.lang.Object)`
      - `System.identityHashCode(java.lang.Object)`

  - ### equals

    public boolean equals(Object obj)
    Tests for equality between the specified object and this code signer. Two code signers are considered equal if their signer certificate paths are equal and if their timestamps are equal, if present in both.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - the object to test for equality with this object.
    Returns:
      `true` if the objects are considered equal, `false` otherwise.
    See Also:
      - `Object.hashCode()`
      - `HashMap`

  - ### toString

    public String toString()
    Returns a string describing this code signer.
    Overrides:
      `toString` in class `Object`
    Returns:
      A string comprising the signer's certificate and a timestamp, if present.