Module java.base
Package java.security

## Class Signer

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

All Implemented Interfaces:
  Serializable, Principal

Deprecated.
This class is no longer used. Its functionality has been replaced by `java.security.KeyStore`, the `java.security.cert` package, and `java.security.Principal`.

    @Deprecated
    public abstract class Signer
    extends Identity

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.

See Also:
  `Identity`, Serialized Form

### Constructor Summary

Constructors
`protected` `Signer()` Deprecated. Creates a signer.
`` `Signer(String name)` Deprecated. Creates a signer with the specified identity name.
`` `Signer(String name, IdentityScope scope)` Deprecated. Creates a signer with the specified identity name and scope.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`PrivateKey` `getPrivateKey()` Deprecated. Returns this signer's private key.
`void` `setKeyPair(KeyPair pair)` Deprecated. Sets the key pair (public key and private key) for this signer.
`String` `toString()` Deprecated. Returns a string of information about the signer.

### Methods inherited from class java.security.Identity

`addCertificate, certificates, equals, getInfo, getName, getPublicKey, getScope, hashCode, identityEquals, removeCertificate, setInfo, setPublicKey, toString`

### Methods inherited from class java.lang.Object

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

### Methods inherited from interface java.security.Principal

`implies`

### Constructor Detail

#### Signer

    protected Signer()

Deprecated.
Creates a signer. This constructor should only be used for serialization.

#### Signer

    public Signer(String name)

Deprecated.
Creates a signer with the specified identity name.

Parameters:
  `name` - the identity name.

#### Signer

    public Signer(String name,
                  IdentityScope scope)
           throws KeyManagementException

Deprecated.
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 Detail

#### getPrivateKey

    public PrivateKey getPrivateKey()

Deprecated.
Returns this signer's private key.

First, if there is a security manager, its `checkSecurityAccess` method is called with `"getSignerPrivateKey"` as its argument to see if it's ok to return the private key.

Returns:
  this signer's private key, or null if the private key has not yet been set.
Throws:
  `SecurityException` - if a security manager exists and its `checkSecurityAccess` method doesn't allow returning the private key.
See Also:
  `SecurityManager.checkSecurityAccess(java.lang.String)`

#### setKeyPair

    public final void setKeyPair(KeyPair pair)
                          throws InvalidParameterException,
                                 KeyException

Deprecated.
Sets the key pair (public key and private key) for this signer.

First, if there is a security manager, its `checkSecurityAccess` method is called with `"setSignerKeyPair"` as its argument to see if it's ok to set the key pair.

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.
  `SecurityException` - if a security manager exists and its `checkSecurityAccess` method doesn't allow setting the key pair.
See Also:
  `SecurityManager.checkSecurityAccess(java.lang.String)`

#### toString

    public String toString()

Deprecated.
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.
See Also:
  `SecurityManager.checkSecurityAccess(java.lang.String)`