/* * keytools.h */ #ifndef _KEYTOOLS_H #define _KEYTOOLS_H #ifdef __cplusplus extern "C" { #endif #define USM_LENGTH_EXPANDED_PASSPHRASE (1024 * 1024) /* 1Meg. */ #define USM_LENGTH_KU_HASHBLOCK 64 /* In bytes. */ #define USM_LENGTH_P_MIN 8 /* In characters. */ /* * Recommended practice given in , * * Section 11.2 "Defining Users". Move into cmdline app argument * * parsing, and out of the internal routine? XXX */ /* * Prototypes.h */ NETSNMP_IMPORT int generate_Ku(const oid * hashtype, u_int hashtype_len, const u_char * P, size_t pplen, u_char * Ku, size_t * kulen); NETSNMP_IMPORT int generate_kul(const oid * hashtype, u_int hashtype_len, const u_char * engineID, size_t engineID_len, const u_char * Ku, size_t ku_len, u_char * Kul, size_t * kul_len); NETSNMP_IMPORT int encode_keychange(const oid * hashtype, u_int hashtype_len, u_char * oldkey, size_t oldkey_len, u_char * newkey, size_t newkey_len, u_char * kcstring, size_t * kcstring_len); NETSNMP_IMPORT int decode_keychange(const oid * hashtype, u_int hashtype_len, u_char * oldkey, size_t oldkey_len, u_char * kcstring, size_t kcstring_len, u_char * newkey, size_t * newkey_len); /* * All functions devolve to the following block if we can't do cryptography */ #define _KEYTOOLS_NOT_AVAILABLE \ { \ return SNMPERR_KT_NOT_AVAILABLE; \ } #ifdef __cplusplus } #endif #endif /* _KEYTOOLS_H */