# 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 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(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.