Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

PK_VerifierBase< H > Class Template Reference

#include <pubkey.h>

Inheritance diagram for PK_VerifierBase< H >:

PK_SignatureSchemeBase< H, PK_Verifier, DigestVerifier > PK_Verifier PK_SignatureScheme PublicKeyAlgorithm AsymmetricAlgorithm Algorithm Clonable PK_SignatureSchemeImpl< PK_VerifierBase< H >, DS > PK_VerifierImpl< DS, H > List of all members.

Detailed Description

template<class H>
class PK_VerifierBase< H >

Definition at line 432 of file pubkey.h.

Public Member Functions

bool VerifyAndRestart (HashTransformation &messageAccumulator, const byte *sig) const
 check whether sig is a valid signature for messageAccumulator, and restart messageAccumulator

unsigned int SignatureLength () const
 signature length support by this object (as either input or output)

HashTransformationNewMessageAccumulator () const
 deprecated, please use PK_Signer::NewSignatureAccumulator or PK_Verifier::NewVerificationAccumulator instead

virtual const DigestVerifierGetDigestSignatureSchemeInterface () const=0
virtual bool SignatureUpfrontForVerification () const
virtual HashTransformationNewVerificationAccumulator (const byte *signature=NULL) const
 create a new HashTransformation to accumulate the message to be verified

virtual bool Verify (HashTransformation *messageAccumulator, const byte *signature=NULL) const
 check whether sig is a valid signature for messageAccumulator, and delete messageAccumulator (even in case of exception thrown)

virtual void InitializeVerificationAccumulator (HashTransformation &messageAccumulator, const byte *signature) const
 only useful if SignatureUpfrontForVerification() == true

virtual bool VerifyMessage (const byte *message, unsigned int messageLen, const byte *signature) const
 check whether sig is a valid signature for message

CryptoMaterialAccessMaterial ()
 returns a reference to the crypto material used by this object

const CryptoMaterialGetMaterial () const
 returns a const reference to the crypto material used by this object

virtual PublicKeyAccessPublicKey ()=0
virtual const PublicKeyGetPublicKey () const
void BERDecode (BufferedTransformation &bt)
 for backwards compatibility, calls AccessMaterial().Load(bt)

void DEREncode (BufferedTransformation &bt) const
 for backwards compatibility, calls GetMaterial().Save(bt)

virtual std::string AlgorithmName () const
 returns name of this algorithm, not universally implemented yet

virtual ClonableClone () const
 this is not implemented by most classes yet


Member Function Documentation

template<class H>
bool PK_VerifierBase< H >::VerifyAndRestart HashTransformation messageAccumulator,
const byte *  sig
const [virtual]
 

check whether sig is a valid signature for messageAccumulator, and restart messageAccumulator

Note:
depending on SignatureUpfrontForVerification(), signature is either the current or the next signature
Parameters:
signature may be NULL to indicate that the next signature is not available yet

Implements PK_Verifier.

Definition at line 449 of file pubkey.h.

References HashTransformation::DigestSize(), HashTransformation::Final(), SecBlock< byte >::size(), and DigestVerifier::VerifyDigest().

virtual bool PK_Verifier::SignatureUpfrontForVerification  )  const [inline, virtual, inherited]
 

If this function returns true, you must input the signature when calling NewVerificationAccumulator(). Otherwise, you must input the signature when calling Verify().

Definition at line 1268 of file cryptlib.h.

virtual HashTransformation* PK_Verifier::NewVerificationAccumulator const byte *  signature = NULL  )  const [inline, virtual, inherited]
 

create a new HashTransformation to accumulate the message to be verified

Parameters:
signature is ignored if SignatureUpfrontForVerification() == false
signature may be NULL to indicate that the signature is not available yet

Definition at line 1274 of file cryptlib.h.

References PK_SignatureScheme::NewMessageAccumulator().

Referenced by PK_Verifier::VerifyMessage().

bool PK_Verifier::Verify HashTransformation messageAccumulator,
const byte *  signature = NULL
const [virtual, inherited]
 

check whether sig is a valid signature for messageAccumulator, and delete messageAccumulator (even in case of exception thrown)

Precondition:
messageAccumulator was obtained by calling NewVerificationAccumulator()

HashTransformation::Final() has not been called on messageAccumulator

length of signature == SignatureLength()

Parameters:
signature is ignored if SignatureUpfrontForVerification() == true

Definition at line 632 of file cryptlib.cpp.

References PK_Verifier::VerifyAndRestart().

bool PK_Verifier::VerifyMessage const byte *  message,
unsigned int  messageLen,
const byte *  signature
const [virtual, inherited]
 

check whether sig is a valid signature for message

Precondition:
size of signature == SignatureLength()

Definition at line 638 of file cryptlib.cpp.

References PK_Verifier::NewVerificationAccumulator(), and PK_Verifier::VerifyAndRestart().


The documentation for this class was generated from the following file:
Generated on Tue Jul 8 23:35:21 2003 for Crypto++ by doxygen 1.3.2