org.bouncycastle.crypto.signers

Class PSSSigner

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

static byte
TRAILER_IMPLICIT

Constructor Summary

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

Method Summary

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

Field Details

TRAILER_IMPLICIT

public static final byte TRAILER_IMPLICIT
Field Value:
-68

Constructor Details

PSSSigner

public PSSSigner(AsymmetricBlockCipher cipher,
                 Digest digest,
                 int sLen)
basic constructor
Parameters:
cipher - the assymetric 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)

Method Details

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

init

public void init(boolean forSigning,
                 CipherParameters param)
Specified by:
init in interface Signer

reset

public void reset()
reset the internal state
Specified by:
reset in interface Signer

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

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