Class BaseISO9796d2Signer
java.lang.Object
org.bouncycastle.crypto.internal.signers.BaseISO9796d2Signer
- All Implemented Interfaces:
Signer
,SignerWithRecovery
ISO9796-2 - mechanism using a hash function with recovery (scheme 1)
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionBaseISO9796d2Signer
(AsymmetricBlockCipher cipher, Digest digest, boolean implicit) Generate a signer with either implicit or explicit trailers for ISO9796-2. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
generate a signature for the loaded message using the key we were initialised with.byte[]
Return a reference to the recoveredMessage message, either as it was added to a just generated signature, or extracted from a verified one.boolean
Return true if the full message was recoveredMessage.void
init
(boolean forSigning, CipherParameters param) Initialise the signer for signing or verification.void
reset()
reset the internal statevoid
update
(byte b) update the internal digest with the byte bvoid
update
(byte[] in, int off, int len) update the internal digest with the byte array invoid
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.
-
Field Details
-
TRAILER_IMPLICIT
public static final int TRAILER_IMPLICIT- See Also:
-
-
Constructor Details
-
BaseISO9796d2Signer
Generate a signer with either implicit or explicit trailers for ISO9796-2.- Parameters:
cipher
- base cipher to use for signature creation/verificationdigest
- digest to use.implicit
- whether or not the trailer is implicit or gives the hash.
-
-
Method Details
-
init
Description copied from interface:Signer
Initialise the signer for signing or verification. -
updateWithRecoveredMessage
Description copied from interface:SignerWithRecovery
Perform an update with the recovered message before adding any other data. This must be the first update method called, and calling it will result in the signer assuming that further calls to update will include message content past what is recoverable.- Specified by:
updateWithRecoveredMessage
in interfaceSignerWithRecovery
- Parameters:
signature
- the signature that we are in the process of verifying.- Throws:
InvalidCipherTextException
-
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 -
reset
public void reset()reset the internal state -
generateSignature
generate a signature for the loaded message using the key we were initialised with.- Specified by:
generateSignature
in interfaceSigner
- Throws:
CryptoException
-
verifySignature
public boolean verifySignature(byte[] signature) return true if the signature represents a ISO9796-2 signature for the passed in message.- Specified by:
verifySignature
in interfaceSigner
-
hasFullMessage
public boolean hasFullMessage()Return true if the full message was recoveredMessage.- Specified by:
hasFullMessage
in interfaceSignerWithRecovery
- Returns:
- true on full message recovery, false otherwise.
- See Also:
-
getRecoveredMessage
public 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.- Specified by:
getRecoveredMessage
in interfaceSignerWithRecovery
- Returns:
- the full/partial recoveredMessage message.
- See Also:
-