# Class Signer

java.lang.Object
java.security.Identity
java.security.Signer

All Implemented Interfaces:
  `Serializable, Principal`

@Deprecated(since="1.2", forRemoval=true) public abstract class Signer extends Identity
Deprecated, for removal: This API element is subject to removal in a future version.
This class is deprecated and subject to removal in a future version of Java SE. It has been replaced by `java.security.KeyStore`, the `java.security.cert` package, and `java.security.Principal`.
This class is used to represent an Identity that can also digitally sign data.

The management of a signer's private keys is an important and sensitive issue that should be handled by subclasses as appropriate to their intended use.

Since:
  1.1
See Also:
  - `Identity`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Signer()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Creates a `Signer`.
  ``
  `Signer(String name)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Creates a `Signer` with the specified identity name.
  ``
  `Signer(String name, IdentityScope scope)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Creates a `Signer` with the specified identity name and scope.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PrivateKey`
  `getPrivateKey()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns this signer's private key.
  `final void`
  `setKeyPair(KeyPair pair)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Sets the key pair (public key and private key) for this `Signer`.
  `String`
  `toString()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns a string of information about the `Signer`.

  ### Methods declared in class Identity

  `addCertificate, certificates, equals, getInfo, getName, getPublicKey, getScope, hashCode, identityEquals, removeCertificate, setInfo, setPublicKey, toString`
  Modifier and Type
  Method
  Description
  `void`
  `addCertificate(Certificate certificate)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Adds a certificate for this `Identity`.
  `Certificate[]`
  `certificates()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns a copy of all the certificates for this `Identity`.
  `final boolean`
  `equals(Object identity)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Tests for equality between the specified object and this `Identity`.
  `String`
  `getInfo()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns general information previously specified for this `Identity`.
  `final String`
  `getName()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns this identity's name.
  `PublicKey`
  `getPublicKey()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns this identity's public key.
  `final IdentityScope`
  `getScope()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns this identity's scope.
  `int`
  `hashCode()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns the hashcode for this `Identity`.
  `protected boolean`
  `identityEquals(Identity identity)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Tests for equality between the specified `Identity` and this `Identity`.
  `void`
  `removeCertificate(Certificate certificate)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Removes a certificate from this `Identity`.
  `void`
  `setInfo(String info)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Specifies a general information string for this `Identity`.
  `void`
  `setPublicKey(PublicKey key)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Sets this identity's public key.
  `String`
  `toString(boolean detailed)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns a string representation of this `Identity`, with optionally more details than that provided by the `toString` method without any arguments.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `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`.
  `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.
  `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.

  ### Methods declared in interface Principal

  `implies`
  Modifier and Type
  Method
  Description
  `default boolean`
  `implies(Subject subject)`
  Returns `true` if the specified subject is implied by this `Principal`.

- ## Constructor Details

  - ### Signer

    protected Signer()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a `Signer`. This constructor should only be used for serialization.

  - ### Signer

    public Signer(String name)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a `Signer` with the specified identity name.
    Parameters:
      `name` - the identity name.

  - ### Signer

    public Signer(String name, IdentityScope scope) throws KeyManagementException
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a `Signer` with the specified identity name and scope.
    Parameters:
      `name` - the identity name.
      `scope` - the scope of the identity.
    Throws:
      `KeyManagementException` - if there is already an identity with the same name in the scope.

- ## Method Details

  - ### getPrivateKey

    public PrivateKey getPrivateKey()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns this signer's private key.
    Returns:
      this signer's private key, or `null` if the private key has not yet been set.

  - ### setKeyPair

    public final void setKeyPair(KeyPair pair) throws InvalidParameterException, KeyException
    Deprecated, for removal: This API element is subject to removal in a future version.
    Sets the key pair (public key and private key) for this `Signer`.
    Parameters:
      `pair` - an initialized key pair.
    Throws:
      `InvalidParameterException` - if the key pair is not properly initialized.
      `KeyException` - if the key pair cannot be set for any other reason.

  - ### toString

    public String toString()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns a string of information about the `Signer`.
    Specified by:
      `toString` in interface `Principal`
    Overrides:
      `toString` in class `Identity`
    Returns:
      a string of information about the `Signer`.