org.bouncycastle.crypto.signers

Class ISO9796d2PSSSigner

public class ISO9796d2PSSSigner extends Object implements SignerWithRecovery

ISO9796-2 - mechanism using a hash function with recovery (scheme 2 and 3).

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

Field Summary
static intTRAILER_IMPLICIT
static intTRAILER_RIPEMD128
static intTRAILER_RIPEMD160
static intTRAILER_SHA1
Constructor Summary
ISO9796d2PSSSigner(AsymmetricBlockCipher cipher, Digest digest, int saltLength, boolean implicit)
Generate a signer for the with either implicit or explicit trailers for ISO9796-2, scheme 2 or 3.
ISO9796d2PSSSigner(AsymmetricBlockCipher cipher, Digest digest, int saltLength)
Constructor for a signer with an explicit digest trailer.
Method Summary
byte[]generateSignature()
generate a signature for the loaded message using the key we were initialised with.
byte[]getRecoveredMessage()
Return a reference to the recoveredMessage message.
booleanhasFullMessage()
Return true if the full message was recoveredMessage.
voidinit(boolean forSigning, CipherParameters param)
Initialise the signer.
voidreset()
reset the internal state
voidupdate(byte b)
update the internal digest with the byte b
voidupdate(byte[] in, int off, int len)
update the internal digest with the byte array in
booleanverifySignature(byte[] signature)
return true if the signature represents a ISO9796-2 signature for the passed in message.

Field Detail

TRAILER_IMPLICIT

public static final int TRAILER_IMPLICIT

TRAILER_RIPEMD128

public static final int TRAILER_RIPEMD128

TRAILER_RIPEMD160

public static final int TRAILER_RIPEMD160

TRAILER_SHA1

public static final int TRAILER_SHA1

Constructor Detail

ISO9796d2PSSSigner

public ISO9796d2PSSSigner(AsymmetricBlockCipher cipher, Digest digest, int saltLength, boolean implicit)
Generate a signer for the with either implicit or explicit trailers for ISO9796-2, scheme 2 or 3.

Parameters: cipher base cipher to use for signature creation/verification digest digest to use. saltLength length of salt in bytes. implicit whether or not the trailer is implicit or gives the hash.

ISO9796d2PSSSigner

public ISO9796d2PSSSigner(AsymmetricBlockCipher cipher, Digest digest, int saltLength)
Constructor for a signer with an explicit digest trailer.

Parameters: cipher cipher to use. digest digest to sign with. saltLength length of salt in bytes.

Method Detail

generateSignature

public byte[] generateSignature()
generate a signature for the loaded message using the key we were initialised with.

getRecoveredMessage

public byte[] getRecoveredMessage()
Return a reference to the recoveredMessage message.

Returns: the full/partial recoveredMessage message.

See Also: getRecoveredMessage

hasFullMessage

public boolean hasFullMessage()
Return true if the full message was recoveredMessage.

Returns: true on full message recovery, false otherwise, or if not sure.

See Also: hasFullMessage

init

public void init(boolean forSigning, CipherParameters param)
Initialise the signer.

Parameters: forSigning true if for signing, false if for verification. param parameters for signature generation/verification. If the parameters are for generation they should be a ParametersWithRandom, a ParametersWithSalt, or just an RSAKeyParameters object. If RSAKeyParameters are passed in a SecureRandom will be created.

Throws: IllegalArgumentException if wrong parameter type or a fixed salt is passed in which is the wrong length.

reset

public void reset()
reset the internal state

update

public void update(byte b)
update the internal digest with the byte b

update

public void update(byte[] in, int off, int len)
update the internal digest with the byte array in

verifySignature

public boolean verifySignature(byte[] signature)
return true if the signature represents a ISO9796-2 signature for the passed in message.