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.