public class ISO9796d2PSSSigner extends Object implements SignerWithRecovery
Note: the usual length for the salt is the length of the hash function used in bytes.
| Modifier and Type | Field and Description |
|---|---|
static int |
TRAILER_IMPLICIT |
static int |
TRAILER_RIPEMD128 |
static int |
TRAILER_RIPEMD160 |
static int |
TRAILER_SHA1 |
| Constructor and Description |
|---|
ISO9796d2PSSSigner(AsymmetricBlockCipher cipher,
Digest digest,
int saltLength)
Constructor for a signer with an explicit digest trailer.
|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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
|
void |
updateWithRecoveredMessage(byte[] signature)
Perform an update with the recovered message before adding any other data.
|
boolean |
verifySignature(byte[] signature)
return true if the signature represents a ISO9796-2 signature
for the passed in message.
|
public static final int TRAILER_IMPLICIT
public static final int TRAILER_RIPEMD160
public static final int TRAILER_RIPEMD128
public static final int TRAILER_SHA1
public ISO9796d2PSSSigner(AsymmetricBlockCipher cipher, Digest digest, int saltLength, boolean implicit)
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.public ISO9796d2PSSSigner(AsymmetricBlockCipher cipher, Digest digest, int saltLength)
cipher - cipher to use.digest - digest to sign with.saltLength - length of salt in bytes.public void init(boolean forSigning,
CipherParameters param)
init in interface SignerforSigning - 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.IllegalArgumentException - if wrong parameter type or a fixed
salt is passed in which is the wrong length.public void updateWithRecoveredMessage(byte[] signature)
throws InvalidCipherTextException
SignerWithRecoveryupdateWithRecoveredMessage in interface SignerWithRecoverysignature - the signature that we are in the process of verifying.InvalidCipherTextExceptionpublic void update(byte b)
public void update(byte[] in,
int off,
int len)
public byte[] generateSignature()
throws CryptoException
generateSignature in interface SignerCryptoExceptionpublic boolean verifySignature(byte[] signature)
verifySignature in interface Signerpublic boolean hasFullMessage()
hasFullMessage in interface SignerWithRecoverySignerWithRecovery.hasFullMessage()public byte[] getRecoveredMessage()
getRecoveredMessage in interface SignerWithRecoverySignerWithRecovery.getRecoveredMessage()Copyright © 2015. All rights reserved.