Module java.base
Package java.security

# 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 java.security.Identity

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

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

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

### Methods declared in interface java.security.Principal

`implies`

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

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, 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`.

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