org.bouncycastle.crypto.signers
public class ISO9796d2PSSSigner extends Object implements SignerWithRecovery
Note: the usual length for the salt is the length of the hash function used in bytes.
Field Summary | |
---|---|
static int | TRAILER_IMPLICIT |
static int | TRAILER_RIPEMD128 |
static int | TRAILER_RIPEMD160 |
static int | TRAILER_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.
|
boolean | hasFullMessage()
Return true if the full message was recoveredMessage.
|
void | init(boolean forSigning, CipherParameters param)
Initialise the signer.
|
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 signature represents a ISO9796-2 signature
for the passed in message. |
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.
Parameters: cipher cipher to use. digest digest to sign with. saltLength length of salt in bytes.
Returns: the full/partial recoveredMessage message.
See Also: getRecoveredMessage
Returns: true on full message recovery, false otherwise, or if not sure.
See Also: hasFullMessage
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.