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

Priv Class Reference

#include <auth_priv.h>

Inheritance diagram for Priv:

[legend]
List of all members.

Detailed Description

Abstract class for priv modules.

This class has to be subclassed to add new privacy protocols.

Definition at line 205 of file auth_priv.h.

Public Member Functions

virtual ~Priv ()
virtual int encrypt (const unsigned char *key, const unsigned int key_len, const unsigned char *buffer, const unsigned int buffer_len, unsigned char *out_buffer, unsigned int *out_buffer_len, unsigned char *privacy_params, unsigned int *privacy_params_len, const unsigned long engine_boots, const unsigned long engine_time)=0
 Encrypt the buffer with the given key.

virtual int decrypt (const unsigned char *key, const unsigned int key_len, const unsigned char *buffer, const unsigned int buffer_len, unsigned char *out_buffer, unsigned int *out_buffer_len, const unsigned char *privacy_params, const unsigned int privacy_params_len, const unsigned long engine_boots, const unsigned long engine_time)=0
 Decrypt the buffer with the given key.

virtual int get_id () const=0
 Get the uniqhe id of the privacy protocol.

virtual const char * get_id_string () const=0
 Get the unique identifier string of the privacy protocol.

virtual void set_salt (pp_uint64 *new_salt)
 Set the pointer to the salt that should be used.

virtual int get_priv_params_len () const=0
 Get the maximum length that is needed for the msgPrivacyParameters field.

virtual int get_min_key_len () const=0
 Get the minimum key length needed for encryption and decryption.

virtual void fix_key_len (unsigned int &key_len) const=0
 Decrease a too long length to the right value.


Protected Attributes

pp_uint64salt


Constructor & Destructor Documentation

virtual Priv::~Priv  )  [inline, virtual]
 

Definition at line 208 of file auth_priv.h.


Member Function Documentation

virtual int Priv::decrypt const unsigned char *  key,
const unsigned int  key_len,
const unsigned char *  buffer,
const unsigned int  buffer_len,
unsigned char *  out_buffer,
unsigned int *  out_buffer_len,
const unsigned char *  privacy_params,
const unsigned int  privacy_params_len,
const unsigned long  engine_boots,
const unsigned long  engine_time
[pure virtual]
 

Decrypt the buffer with the given key.

This method needs the privacy parameters field for the given message.

Parameters:
key - pointer to the (fixed length) dencryption key
key_len - length of encryption key
buffer - pointer to the encrypted buffer
buffer_len - length of the buffer
out_buffer - pointer to the buffer for the decryptet data
out_buffer_len - Input: Length of the output buffer. Output: Bytes written
privacy_params - Buffer, where the privacy parameters are read from.
privacy_params_len - Length of the privacy parameters buffer
engine_boots - The engine boots value for the message
engine_time - The engine time value for the message
Returns:
SNMPv3_USM_OK on success

Implemented in PrivDES.

virtual int Priv::encrypt const unsigned char *  key,
const unsigned int  key_len,
const unsigned char *  buffer,
const unsigned int  buffer_len,
unsigned char *  out_buffer,
unsigned int *  out_buffer_len,
unsigned char *  privacy_params,
unsigned int *  privacy_params_len,
const unsigned long  engine_boots,
const unsigned long  engine_time
[pure virtual]
 

Encrypt the buffer with the given key.

This method fills the privacy parameters field of the given message.

Parameters:
key - pointer to the encryption key
key_len - length of encryption key
buffer - pointer to the unencrypted buffer
buffer_len - length of the buffer
out_buffer - pointer to the buffer for the encryptet data
out_buffer_len - Input: Length of the output buffer. Output: Bytes written
privacy_params - Buffer, where the privacy parameters are written to.
privacy_params_len - Length of the privacy parameters buffer
engine_boots - The engine boots value for the message
engine_time - The engine time value for the message
Returns:
SNMPv3_USM_OK on success

Implemented in PrivDES.

virtual void Priv::fix_key_len unsigned int &  key_len  )  const [pure virtual]
 

Decrease a too long length to the right value.

Implemented in PrivDES.

virtual int Priv::get_id  )  const [pure virtual]
 

Get the uniqhe id of the privacy protocol.

Implemented in PrivDES.

virtual const char* Priv::get_id_string  )  const [pure virtual]
 

Get the unique identifier string of the privacy protocol.

Implemented in PrivDES.

virtual int Priv::get_min_key_len  )  const [pure virtual]
 

Get the minimum key length needed for encryption and decryption.

Implemented in PrivDES.

virtual int Priv::get_priv_params_len  )  const [pure virtual]
 

Get the maximum length that is needed for the msgPrivacyParameters field.

Implemented in PrivDES.

virtual void Priv::set_salt pp_uint64 new_salt  )  [inline, virtual]
 

Set the pointer to the salt that should be used.

Definition at line 288 of file auth_priv.h.


Member Data Documentation

pp_uint64* Priv::salt [protected]
 

Definition at line 307 of file auth_priv.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 4 22:42:19 2005 for SNMP++ by doxygen 1.3.2