00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _WIZARDS_TOOLKIT_AUTHENTICATE_H_
00019 #define _WIZARDS_TOOLKIT_AUTHENTICATE_H_
00020
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024
00025 #include "wizard/exception.h"
00026 #include "wizard/hash.h"
00027 #include "wizard/string_.h"
00028
00029
00030
00031
00032 typedef enum
00033 {
00034 UndefinedAuthenticate,
00035 SecretAuthenticateMethod,
00036 PublicAuthenticateMethod
00037 } AuthenticateMethod;
00038
00039 typedef struct _AuthenticateInfo
00040 AuthenticateInfo;
00041
00042 extern WizardExport AuthenticateInfo
00043 *AcquireAuthenticateInfo(const AuthenticateMethod,const HashType),
00044 *DestroyAuthenticateInfo(AuthenticateInfo *);
00045
00046 extern WizardExport const char
00047 *GetAuthenticatePassphrase(const AuthenticateInfo *);
00048
00049 extern WizardExport const StringInfo
00050 *GetAuthenticateId(const AuthenticateInfo *),
00051 *GetAuthenticateKey(const AuthenticateInfo *);
00052
00053 extern WizardExport size_t
00054 GetAuthenticateKeyLength(const AuthenticateInfo *);
00055
00056 extern WizardExport void
00057 SetAuthenticateId(AuthenticateInfo *,const StringInfo *),
00058 SetAuthenticateKeyLength(AuthenticateInfo *,const unsigned long),
00059 SetAuthenticatePassphrase(AuthenticateInfo *,const char *);
00060
00061 extern WizardExport WizardBooleanType
00062 AuthenticateKey(AuthenticateInfo *,ExceptionInfo *),
00063 GenerateAuthenticateKey(AuthenticateInfo *,ExceptionInfo *);
00064
00065 #if defined(__cplusplus) || defined(c_plusplus)
00066 }
00067 #endif
00068
00069 #endif