org.bouncycastle.pqc.crypto.DigestingStateAwareMessageSigner Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-ext-jdk15on Show documentation
Show all versions of bcprov-ext-jdk15on Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8. Note: this package includes the NTRU encryption algorithms.
package org.bouncycastle.pqc.crypto;
import org.bouncycastle.crypto.Digest;
import org.bouncycastle.crypto.params.AsymmetricKeyParameter;
/**
* Implements the sign and verify functions for a Signature Scheme using a hash function to allow processing of large messages.
*
* This class can be used with algorithms where the state associated with the private key changes as each signature is
* generated. Calling getUpdatedPrivateKey() will recover the private key that can be used to initialize a signer
* next time around.
*
*/
public class DigestingStateAwareMessageSigner
extends DigestingMessageSigner
{
private final StateAwareMessageSigner signer;
public DigestingStateAwareMessageSigner(StateAwareMessageSigner messSigner, Digest messDigest)
{
super(messSigner, messDigest);
this.signer = messSigner;
}
/**
* Return the current version of the private key with the updated state.
*
* Note: calling this method will effectively disable the Signer from being used for further
* signature generation without another call to init().
*
* @return an updated private key object, which can be used for later signature generation.
*/
public AsymmetricKeyParameter getUpdatedPrivateKey()
{
return signer.getUpdatedPrivateKey();
}
}