org.bouncycastle.crypto.signers
Class ISO9796d2PSSSigner
java.lang.Object
org.bouncycastle.crypto.signers.ISO9796d2PSSSigner
- Signer, SignerWithRecovery
public class ISO9796d2PSSSigner
extends java.lang.Object
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.
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.
|
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
ISO9796d2PSSSigner
public ISO9796d2PSSSigner(AsymmetricBlockCipher cipher,
Digest digest,
int saltLength)
Constructor for a signer with an explicit digest trailer.
cipher
- cipher to use.digest
- digest to sign with.saltLength
- length of salt in bytes.
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.
cipher
- base cipher to use for signature creation/verificationdigest
- digest to use.saltLength
- length of salt in bytes.implicit
- whether or not the trailer is implicit or gives the hash.
generateSignature
public byte[] generateSignature()
throws CryptoException
generate a signature for the loaded message using the key we were
initialised with.
- generateSignature in interface Signer
getRecoveredMessage
public byte[] getRecoveredMessage()
Return a reference to the recoveredMessage message.
- getRecoveredMessage in interface SignerWithRecovery
- the full/partial recoveredMessage message.
hasFullMessage
public boolean hasFullMessage()
Return true if the full message was recoveredMessage.
- hasFullMessage in interface SignerWithRecovery
- true on full message recovery, false otherwise, or if not sure.
init
public void init(boolean forSigning,
CipherParameters param)
Initialise the signer.
- init in interface Signer
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.
reset
public void reset()
reset the internal state
- reset in interface Signer
update
public void update(byte b)
update the internal digest with the byte b
- update in interface Signer
update
public void update(byte[] in,
int off,
int len)
update the internal digest with the byte array in
- update in interface Signer
verifySignature
public boolean verifySignature(byte[] signature)
return true if the signature represents a ISO9796-2 signature
for the passed in message.
- verifySignature in interface Signer