Signer
, SignerWithRecovery
public class ISO9796d2PSSSigner extends java.lang.Object implements SignerWithRecovery
Note: the usual length for the salt is the length of the hash function used in bytes.
Modifier and Type | Field | Description |
---|---|---|
static int |
TRAILER_IMPLICIT |
Deprecated.
use ISOTrailers
|
static int |
TRAILER_RIPEMD128 |
Deprecated.
use ISOTrailers
|
static int |
TRAILER_RIPEMD160 |
Deprecated.
use ISOTrailers
|
static int |
TRAILER_SHA1 |
Deprecated.
use ISOTrailers
|
static int |
TRAILER_SHA256 |
Deprecated.
use ISOTrailers
|
static int |
TRAILER_SHA384 |
Deprecated.
use ISOTrailers
|
static int |
TRAILER_SHA512 |
Deprecated.
use ISOTrailers
|
static int |
TRAILER_WHIRLPOOL |
Deprecated.
use ISOTrailers
|
Constructor | 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 with either implicit or explicit trailers for ISO9796-2, scheme 2 or 3.
|
Modifier and Type | Method | 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, either as it was added
to a just generated signature, or extracted from a verified one.
|
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 static final int TRAILER_SHA256
public static final int TRAILER_SHA512
public static final int TRAILER_SHA384
public static final int TRAILER_WHIRLPOOL
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 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.java.lang.IllegalArgumentException
- if wrong parameter type or a fixed
salt is passed in which is the wrong length.public void updateWithRecoveredMessage(byte[] signature) throws InvalidCipherTextException
SignerWithRecovery
updateWithRecoveredMessage
in interface SignerWithRecovery
signature
- the signature that we are in the process of verifying.InvalidCipherTextException
public void update(byte b)
public void update(byte[] in, int off, int len)
public byte[] generateSignature() throws CryptoException
generateSignature
in interface Signer
CryptoException
public boolean verifySignature(byte[] signature)
verifySignature
in interface Signer
public boolean hasFullMessage()
hasFullMessage
in interface SignerWithRecovery
SignerWithRecovery.hasFullMessage()
public byte[] getRecoveredMessage()
getRecoveredMessage
in interface SignerWithRecovery
SignerWithRecovery.getRecoveredMessage()