# secret.h

Go to the documentation of this file.

    00001 /*
    00002   Copyright 1999-2008 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 _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