00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _WIZARDS_TOOLKIT_SECRET_H_
00019 #define _WIZARDS_TOOLKIT_SECRET_H_
00020
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024
00025 #include "wizard/cipher.h"
00026 #include "wizard/exception.h"
00027 #include "wizard/hash.h"
00028 #include "wizard/hmac.h"
00029 #include "wizard/keyring.h"
00030 #include "wizard/random_.h"
00031
00032 typedef struct _SecretInfo
00033 SecretInfo;
00034
00035 extern WizardExport const char
00036 *GetSecretPassphrase(const SecretInfo *);
00037
00038 extern WizardExport const StringInfo
00039 *GetSecretId(const SecretInfo *),
00040 *GetSecretKey(const SecretInfo *);
00041
00042 extern WizardExport SecretInfo
00043 *AcquireSecretInfo(const HashType,const unsigned long),
00044 *DestroySecretInfo(SecretInfo *);
00045
00046 extern WizardExport size_t
00047 GetSecretKeyLength(const SecretInfo *);
00048
00049 extern WizardExport void
00050 SetSecretId(SecretInfo *,const StringInfo *),
00051 SetSecretKeyLength(SecretInfo *,const unsigned long),
00052 SetSecretPassphrase(SecretInfo *,const char *);
00053
00054 extern WizardExport WizardBooleanType
00055 AuthenticateSecretKey(SecretInfo *,ExceptionInfo *),
00056 GenerateSecretKey(SecretInfo *,ExceptionInfo *);
00057
00058 #if defined(__cplusplus) || defined(c_plusplus)
00059 }
00060 #endif
00061
00062 #endif