|
SNMP++
3.3.11
|
Abstract class for auth modules. More...
#include <auth_priv.h>

Public Member Functions | |
| virtual | ~Auth () |
| virtual int | password_to_key (const unsigned char *password, const unsigned int password_len, const unsigned char *engine_id, const unsigned int engine_id_len, unsigned char *key, unsigned int *key_len)=0 |
| Generate the localized key for the given password and engine id. More... | |
| virtual int | hash (const unsigned char *data, const unsigned int data_len, unsigned char *digest) const =0 |
| Generate a hash value for the given data. More... | |
| virtual int | auth_out_msg (const unsigned char *key, unsigned char *msg, const int msg_len, unsigned char *auth_par_ptr)=0 |
| Authenticate an outgoing message. More... | |
| virtual int | auth_inc_msg (const unsigned char *key, unsigned char *msg, const int msg_len, unsigned char *auth_par_ptr, const int auth_par_len)=0 |
| Authenticate an incoming message. More... | |
| virtual int | get_id () const =0 |
| Get the unique id of the authentication protocol. More... | |
| virtual const char * | get_id_string () const =0 |
| Get the unique identifier string of the authentication protocol. More... | |
| virtual void | set_salt (pp_uint64 *new_salt) |
| Set the pointer to the salt that should be used. More... | |
| virtual int | get_auth_params_len () const =0 |
| Get the maximum length that is needed for the msgAuthenticationParameters field. More... | |
| virtual int | get_hash_len () const =0 |
| Get length of a hash output. More... | |
Protected Attributes | |
| pp_uint64 * | salt |
Abstract class for auth modules.
This class has to be subclassed to add new authentication protocols.
Definition at line 68 of file auth_priv.h.
|
inlinevirtual |
Definition at line 72 of file auth_priv.h.
|
pure virtual |
Authenticate an incoming message.
This method checks if the value in the authentication parameters field of the message is valid.
The following procedure is used to verify the authenitcation value
| key | - pointer to the (fixed length) key |
| msg | - pointer to the whole message |
| msg_len | - the length of the message |
| auth_par_ptr | - pointer to the auth field inside the msg buffer |
| auth_par_len | - Length of the received auth field |
Implemented in AuthSHABase, and AuthMD5.
|
pure virtual |
Authenticate an outgoing message.
This method fills the authentication parameters field of the given message. The param auth_par_ptr is pointing inside the message buffer and must be zeroed before the authentication value is computed.
| key | - pointer to the (fixed length) key |
| msg | - pointer to the whole message |
| msg_len | - the length of the message |
| auth_par_ptr | - pointer to the auth field inside the msg buffer |
Implemented in AuthSHABase, and AuthMD5.
|
pure virtual |
Get the maximum length that is needed for the msgAuthenticationParameters field.
Implemented in AuthHMAC384SHA512, AuthHMAC256SHA384, AuthHMAC192SHA256, AuthHMAC128SHA224, AuthSHA, and AuthMD5.
|
pure virtual |
Get length of a hash output.
Implemented in AuthHMAC384SHA512, AuthHMAC256SHA384, AuthHMAC192SHA256, AuthHMAC128SHA224, AuthSHA, and AuthMD5.
|
pure virtual |
Get the unique id of the authentication protocol.
Implemented in AuthHMAC384SHA512, AuthHMAC256SHA384, AuthHMAC192SHA256, AuthHMAC128SHA224, AuthSHA, and AuthMD5.
|
pure virtual |
Get the unique identifier string of the authentication protocol.
Implemented in AuthHMAC384SHA512, AuthHMAC256SHA384, AuthHMAC192SHA256, AuthHMAC128SHA224, AuthSHA, and AuthMD5.
|
pure virtual |
Generate a hash value for the given data.
| data | - the data |
| data_len | - the length of the data |
| digest | - pointer to the generated digest |
Implemented in AuthSHABase, and AuthMD5.
|
pure virtual |
Generate the localized key for the given password and engine id.
| password | - the password |
| password_len | - the length of the password |
| engine_id | - pointer to snmpEngineID |
| engine_id_len | - length of snmpEngineID |
| key | - pointer to an empty buffer that will be filled with generated key |
| key_len | - IN: length of the buffer OUT: length of the key |
Implemented in AuthSHABase, and AuthMD5.
|
inlinevirtual |
Set the pointer to the salt that should be used.
Definition at line 173 of file auth_priv.h.
|
protected |
Definition at line 187 of file auth_priv.h.