Botan 1.10.17
Botan::PK_Verifier_Filter Class Reference

#include <pk_filts.h>

Inheritance diagram for Botan::PK_Verifier_Filter:
Botan::Filter

Public Member Functions

virtual bool attachable ()
void end_msg ()
std::string name () const
 PK_Verifier_Filter (PK_Verifier *, const byte[], size_t)
 PK_Verifier_Filter (PK_Verifier *, const MemoryRegion< byte > &)
 PK_Verifier_Filter (PK_Verifier *v)
void set_signature (const byte[], size_t)
void set_signature (const MemoryRegion< byte > &)
virtual void start_msg ()
void write (const byte[], size_t)
 ~PK_Verifier_Filter ()

Protected Member Functions

void send (byte in)
void send (const byte in[], size_t length)
void send (const MemoryRegion< byte > &in)
void send (const MemoryRegion< byte > &in, size_t length)

Detailed Description

PK_Verifier Filter

Definition at line 77 of file pk_filts.h.

Constructor & Destructor Documentation

◆ PK_Verifier_Filter() [1/3]

Botan::PK_Verifier_Filter::PK_Verifier_Filter ( PK_Verifier * v)
inline

Definition at line 88 of file pk_filts.h.

88: verifier(v) {}

◆ PK_Verifier_Filter() [2/3]

Botan::PK_Verifier_Filter::PK_Verifier_Filter ( PK_Verifier * v,
const byte sig[],
size_t length )

Definition at line 101 of file pk_filts.cpp.

102 :
103 verifier(v), signature(sig, length)
104 {
105 }

◆ PK_Verifier_Filter() [3/3]

Botan::PK_Verifier_Filter::PK_Verifier_Filter ( PK_Verifier * v,
const MemoryRegion< byte > & sig )

Definition at line 110 of file pk_filts.cpp.

111 :
112 verifier(v), signature(sig)
113 {
114 }

◆ ~PK_Verifier_Filter()

Botan::PK_Verifier_Filter::~PK_Verifier_Filter ( )
inline

Definition at line 91 of file pk_filts.h.

91{ delete verifier; }

Member Function Documentation

◆ attachable()

virtual bool Botan::Filter::attachable ( )
inlinevirtualinherited

Check whether this filter is an attachable filter.

Returns
true if this filter is attachable, false otherwise

Reimplemented in Botan::DataSink, and Botan::SecureQueue.

Definition at line 50 of file filter.h.

50{ return true; }

◆ end_msg()

void Botan::PK_Verifier_Filter::end_msg ( )
virtual

Notify that the current message is finished; flush buffers and do end-of-message processing (if any).

Reimplemented from Botan::Filter.

Definition at line 73 of file pk_filts.cpp.

74 {
75 if(signature.empty())
76 throw Invalid_State("PK_Verifier_Filter: No signature to check against");
77 bool is_valid = verifier->check_signature(signature);
78 send((is_valid ? 1 : 0));
79 }
void send(const byte in[], size_t length)
Definition filter.cpp:28
Invalid_State(const std::string &err)
Definition exceptn.h:27

References Botan::Invalid_State::Invalid_State(), and Botan::Filter::send().

◆ name()

std::string Botan::PK_Verifier_Filter::name ( ) const
inlinevirtual
Returns
descriptive name for this filter

Implements Botan::Filter.

Definition at line 80 of file pk_filts.h.

80{ return "PK Verifier"; }

◆ send() [1/4]

void Botan::Filter::send ( byte in)
inlineprotectedinherited
Parameters
insome input for the filter

Definition at line 63 of file filter.h.

63{ send(&in, 1); }

References send().

Referenced by send().

◆ send() [2/4]

void Botan::Filter::send ( const byte in[],
size_t length )
protectedinherited

◆ send() [3/4]

void Botan::Filter::send ( const MemoryRegion< byte > & in)
inlineprotectedinherited
Parameters
insome input for the filter

Definition at line 68 of file filter.h.

68{ send(&in[0], in.size()); }

References send(), and Botan::MemoryRegion< T >::size().

Referenced by send().

◆ send() [4/4]

void Botan::Filter::send ( const MemoryRegion< byte > & in,
size_t length )
inlineprotectedinherited
Parameters
insome input for the filter
lengththe number of bytes of in to send

Definition at line 74 of file filter.h.

75 {
76 send(&in[0], length);
77 }

References send().

◆ set_signature() [1/2]

void Botan::PK_Verifier_Filter::set_signature ( const byte sig[],
size_t length )

Definition at line 84 of file pk_filts.cpp.

85 {
86 signature.resize(length);
87 copy_mem(&signature[0], sig, length);
88 }
void copy_mem(T *out, const T *in, size_t n)
Definition mem_ops.h:22

References Botan::copy_mem().

◆ set_signature() [2/2]

void Botan::PK_Verifier_Filter::set_signature ( const MemoryRegion< byte > & sig)

Definition at line 93 of file pk_filts.cpp.

94 {
95 signature = sig;
96 }

◆ start_msg()

virtual void Botan::Filter::start_msg ( )
inlinevirtualinherited

Start a new message. Must be closed by end_msg() before another message can be started.

Reimplemented in Botan::Bzip_Compression, Botan::Bzip_Decompression, Botan::EAX_Base, Botan::PBE_PKCS5v15, Botan::PBE_PKCS5v20, Botan::Zlib_Compression, and Botan::Zlib_Decompression.

Definition at line 38 of file filter.h.

38{}

◆ write()

void Botan::PK_Verifier_Filter::write ( const byte input[],
size_t length )
virtual

Write a portion of a message to this filter.

Parameters
inputthe input as a byte array
lengththe length of the byte array input

Implements Botan::Filter.

Definition at line 65 of file pk_filts.cpp.

66 {
67 verifier->update(input, length);
68 }

The documentation for this class was generated from the following files: