SNMP++
3.3.11
|
Base class for SHA authentication modules. More...
#include <auth_priv.h>
Classes | |
class | Hasher |
Public Member Functions | |
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) |
Generate the localized key for the given password and engine id. More... | |
int | hash (const unsigned char *data, const unsigned int data_len, unsigned char *digest) const |
Generate a hash value for the given data. More... | |
int | auth_out_msg (const unsigned char *key, unsigned char *msg, const int msg_len, unsigned char *auth_par_ptr) |
Authenticate an outgoing message. More... | |
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) |
Authenticate an incoming message. More... | |
Public Member Functions inherited from Auth | |
virtual | ~Auth () |
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 Member Functions | |
virtual Hasher * | get_hasher () const =0 |
Additional Inherited Members | |
Protected Attributes inherited from Auth | |
pp_uint64 * | salt |
Base class for SHA authentication modules.
Provides support for usmHMACSHAAuthProtocol, usmHMAC128SHA224AuthProtocol, usmHMAC192SHA256AuthProtocol, usmHMAC256SHA384AuthProtocol and usmHMAC384SHA512AuthProtocol.
Definition at line 870 of file auth_priv.h.
|
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 |
Implements Auth.
|
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 |
Implements Auth.
|
protectedpure virtual |
Implemented in AuthHMAC384SHA512, AuthHMAC256SHA384, AuthHMAC192SHA256, AuthHMAC128SHA224, and AuthSHA.
|
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 |
Implements Auth.
|
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 |
Implements Auth.