|
WizardsToolkit
1.0.7
|
00001 /* 00002 Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization 00003 dedicated to making software imaging solutions freely available. 00004 00005 You may not use this file except in compliance with the License. 00006 obtain a copy of the License at 00007 00008 http://www.wizards-toolkit.org/script/license.php 00009 00010 Unless required by applicable law or agreed to in writing, software 00011 distributed under the License is distributed on an "AS IS" BASIS, 00012 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 See the License for the specific language governing permissions and 00014 limitations under the License. 00015 00016 Wizard's Toolkit Secret authentication methods. 00017 */ 00018 #ifndef _WIZARDSTOOLKIT_SECRET_H_ 00019 #define _WIZARDSTOOLKIT_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 char *,const HashType,const size_t), 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 size_t), 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