org.bouncycastle.crypto.signers

## Class PSSSigner

- java.lang.Object
- - org.bouncycastle.crypto.signers.PSSSigner

All Implemented Interfaces:
  Signer

    public class PSSSigner
    extends java.lang.Object
    implements Signer

RSA-PSS as described in PKCS# 1 v 2.1.

Note: the usual value for the salt length is the number of bytes in the hash function.

### Field Summary

Fields
`static byte` `TRAILER_IMPLICIT`

### Constructor Summary

Constructors
Constructor and Description
`PSSSigner(AsymmetricBlockCipher cipher, Digest contentDigest, Digest mgfDigest, int sLen, byte trailer)`
`PSSSigner(AsymmetricBlockCipher cipher, Digest digest, int sLen)` basic constructor
`PSSSigner(AsymmetricBlockCipher cipher, Digest digest, int sLen, byte trailer)`

### Method Summary

Methods
`byte[]` `generateSignature()` generate a signature for the message we've been loaded with using the key we were initialised with.
`void` `init(boolean forSigning, CipherParameters param)` Initialise the signer for signing or verification.
`void` `reset()` reset the internal state
`void` `update(byte b)` update the internal digest with the byte b
`void` `update(byte[] in, int off, int len)` update the internal digest with the byte array in
`boolean` `verifySignature(byte[] signature)` return true if the internal state represents the signature described in the passed in array.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### TRAILER_IMPLICIT

    public static final byte TRAILER_IMPLICIT

See Also:
  Constant Field Values

### Constructor Detail

#### PSSSigner

    public PSSSigner(AsymmetricBlockCipher cipher,
             Digest digest,
             int sLen)

basic constructor

Parameters:
  `cipher` - the asymmetric cipher to use.
  `digest` - the digest to use.
  `sLen` - the length of the salt to use (in bytes).

#### PSSSigner

    public PSSSigner(AsymmetricBlockCipher cipher,
             Digest digest,
             int sLen,
             byte trailer)

#### PSSSigner

    public PSSSigner(AsymmetricBlockCipher cipher,
             Digest contentDigest,
             Digest mgfDigest,
             int sLen,
             byte trailer)

### Method Detail

#### init

    public void init(boolean forSigning,
            CipherParameters param)

Description copied from interface: `Signer`
Initialise the signer for signing or verification.

Specified by:
  `init` in interface `Signer`
Parameters:
  `forSigning` - true if for signing, false otherwise
  `param` - necessary parameters.

#### update

    public void update(byte b)

update the internal digest with the byte b

Specified by:
  `update` in interface `Signer`

#### update

    public void update(byte[] in,
              int off,
              int len)

update the internal digest with the byte array in

Specified by:
  `update` in interface `Signer`

#### reset

    public void reset()

reset the internal state

Specified by:
  `reset` in interface `Signer`

#### generateSignature

    public byte[] generateSignature()
                             throws CryptoException,
                                    DataLengthException

generate a signature for the message we've been loaded with using the key we were initialised with.

Specified by:
  `generateSignature` in interface `Signer`
Throws:
  `CryptoException`
  `DataLengthException`

#### verifySignature

    public boolean verifySignature(byte[] signature)

return true if the internal state represents the signature described in the passed in array.

Specified by:
  `verifySignature` in interface `Signer`