SNMP++
3.3.11
|
Encryption module using IDEA. More...
#include <auth_priv.h>
Public Member Functions | |
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) |
Encrypt the buffer with the given key. More... | |
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) |
Decrypt the buffer with the given key. More... | |
int | extend_short_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, const unsigned int max_key_len, Auth *auth) |
Extend a localized key that is too short. More... | |
int | get_id () const |
Get the uniqhe id of the privacy protocol. More... | |
const char * | get_id_string () const |
Get the unique identifier string of the privacy protocol. More... | |
int | get_priv_params_len () const |
Get the maximum length that is needed for the msgPrivacyParameters field. More... | |
int | get_min_key_len () const |
Get the minimum key length needed for encryption and decryption. More... | |
void | fix_key_len (unsigned int &key_len) const |
Decrease a too long length to the right value. More... | |
Public Member Functions inherited from Priv | |
virtual | ~Priv () |
virtual void | set_salt (pp_uint64 *new_salt) |
Set the pointer to the salt that should be used. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Priv | |
pp_uint64 * | salt |
|
virtual |
Decrypt the buffer with the given key.
This method needs the privacy parameters field for the given message.
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 |
Implements Priv.
|
virtual |
Encrypt the buffer with the given key.
This method fills the privacy parameters field of the given message.
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 |
Implements Priv.
|
inlinevirtual |
Extend a localized key that is too short.
Some privacy protocols require a key that is longer than the key generated by the pasword to key algorithm of the authentication protocol. This function extends a short key to the required length.
password | - the password |
password_len | - the length of the password |
engine_id | - pointer to snmpEngineID |
engine_id_len | - length of snmpEngineID |
key | - pointer to the short key that was generated using Auth::password_to_key() function |
key_len | - IN: length of the short key OUT: length of the extended key |
max_key_len | - Length of the key buffer |
auth | - Pointer of the authentication protocol that should be used |
Implements Priv.
Definition at line 681 of file auth_priv.h.
References SNMPv3_USM_ERROR.
|
inlinevirtual |
Decrease a too long length to the right value.
Implements Priv.
Definition at line 695 of file auth_priv.h.
|
inlinevirtual |
Get the uniqhe id of the privacy protocol.
Implements Priv.
Definition at line 691 of file auth_priv.h.
References SNMP_PRIVPROTOCOL_IDEA.
|
inlinevirtual |
Get the unique identifier string of the privacy protocol.
Implements Priv.
Definition at line 692 of file auth_priv.h.
|
inlinevirtual |
Get the minimum key length needed for encryption and decryption.
Implements Priv.
Definition at line 694 of file auth_priv.h.
|
inlinevirtual |
Get the maximum length that is needed for the msgPrivacyParameters field.
Implements Priv.
Definition at line 693 of file auth_priv.h.