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
`CodeSigner​(CertPath signerCertPath, Timestamp timestamp)` Constructs a CodeSigner object.

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

#### 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 Detail

#### 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:
  a 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.