secmod.h
来自「支持SSL v2/v3, TLS, PKCS #5, PKCS #7, PKCS」· C头文件 代码 · 共 135 行
H
135 行
/* * The contents of this file are subject to the Mozilla Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is the Netscape security libraries. * * The Initial Developer of the Original Code is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1994-2000 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the * terms of the GNU General Public License Version 2 or later (the * "GPL"), in which case the provisions of the GPL are applicable * instead of those above. If you wish to allow use of your * version of this file only under the terms of the GPL and not to * allow others to use your version of this file under the MPL, * indicate your decision by deleting the provisions above and * replace them with the notice and other provisions required by * the GPL. If you do not delete the provisions above, a recipient * may use your version of this file under either the MPL or the * GPL. * * Definition of Security Module Data Structure. There is a separate data * structure for each loaded PKCS #11 module. */#ifndef _SECMOD_H_#define _SEDMOD_H_#include "seccomon.h"#include "secmodt.h"#define PKCS11_USE_THREADS/* These mechanisms flags are visible to all other libraries. *//* They must be converted to internal SECMOD_*_FLAG *//* if used inside the functions of the security library */#define PUBLIC_MECH_RSA_FLAG 0x00000001ul#define PUBLIC_MECH_DSA_FLAG 0x00000002ul#define PUBLIC_MECH_RC2_FLAG 0x00000004ul#define PUBLIC_MECH_RC4_FLAG 0x00000008ul#define PUBLIC_MECH_DES_FLAG 0x00000010ul#define PUBLIC_MECH_DH_FLAG 0x00000020ul#define PUBLIC_MECH_FORTEZZA_FLAG 0x00000040ul#define PUBLIC_MECH_RC5_FLAG 0x00000080ul#define PUBLIC_MECH_SHA1_FLAG 0x00000100ul#define PUBLIC_MECH_MD5_FLAG 0x00000200ul#define PUBLIC_MECH_MD2_FLAG 0x00000400ul#define PUBLIC_MECH_SSL_FLAG 0x00000800ul#define PUBLIC_MECH_TLS_FLAG 0x00001000ul#define PUBLIC_MECH_RANDOM_FLAG 0x08000000ul#define PUBLIC_MECH_FRIENDLY_FLAG 0x10000000ul#define PUBLIC_OWN_PW_DEFAULTS 0X20000000ul#define PUBLIC_DISABLE_FLAG 0x40000000ul/* warning: reserved means reserved */#define PUBLIC_MECH_RESERVED_FLAGS 0x87FFE000ul/* These cipher flags are visible to all other libraries, *//* But they must be converted before used in functions *//* withing the security module */#define PUBLIC_CIPHER_FORTEZZA_FLAG 0x00000001ul/* warning: reserved means reserved */#define PUBLIC_CIPHER_RESERVED_FLAGS 0xFFFFFFFEulSEC_BEGIN_PROTOS/* protoypes */extern void SECMOD_init(char *dbname);extern SECMODModuleList *SECMOD_GetDefaultModuleList(void);extern SECMODListLock *SECMOD_GetDefaultModuleListLock(void);/* lock management */extern SECMODListLock *SECMOD_NewListLock(void);extern void SECMOD_DestroyListLock(SECMODListLock *);extern void SECMOD_GetReadLock(SECMODListLock *);extern void SECMOD_ReleaseReadLock(SECMODListLock *);extern void SECMOD_GetWriteLock(SECMODListLock *);extern void SECMOD_ReleaseWriteLock(SECMODListLock *);/* list managment */extern void SECMOD_RemoveList(SECMODModuleList **,SECMODModuleList *);extern void SECMOD_AddList(SECMODModuleList *,SECMODModuleList *,SECMODListLock *);/* Operate on modules by name */extern SECMODModule *SECMOD_FindModule(char *name);extern SECMODModule *SECMOD_FindModuleByID(SECMODModuleID);extern SECStatus SECMOD_DeleteModule(char *name, int *type);extern SECStatus SECMOD_DeleteInternalModule(char *name);extern SECStatus SECMOD_AddNewModule(char* moduleName, char* dllPath, unsigned long defaultMechanismFlags, unsigned long cipherEnableFlags);/* database/memory management */extern SECMODModule *SECMOD_NewModule(void);extern SECMODModuleList *SECMOD_NewModuleListElement(void);extern SECMODModule *SECMOD_GetInternalModule(void);extern SECMODModule *SECMOD_GetFIPSInternal(void);extern SECMODModule *SECMOD_ReferenceModule(SECMODModule *module);extern void SECMOD_DestroyModule(SECMODModule *module);extern SECMODModuleList *SECMOD_DestroyModuleListElement(SECMODModuleList *);extern void SECMOD_DestroyModuleList(SECMODModuleList *);extern SECMODModule *SECMOD_DupModule(SECMODModule *old);extern SECStatus SECMOD_AddModule(SECMODModule *newModule);extern PK11SlotInfo *SECMOD_FindSlot(SECMODModule *module,char *name);extern PK11SlotInfo *SECMOD_LookupSlot(SECMODModuleID module, unsigned long slotID);SECStatus SECMOD_DeletePermDB(SECMODModule *);SECStatus SECMOD_AddPermDB(SECMODModule *);/* Funtion reports true if at least one of the modules *//* of modType has been installed */PRBool SECMOD_IsModulePresent( unsigned long int pubCipherEnableFlags );/* Functions used to convert between internal & public representation * of Mechanism Flags and Cipher Enable Flags */extern unsigned long SECMOD_PubMechFlagstoInternal(unsigned long publicFlags);extern unsigned long SECMOD_InternaltoPubMechFlags(unsigned long internalFlags);extern unsigned long SECMOD_PubCipherFlagstoInternal(unsigned long publicFlags);extern unsigned long SECMOD_InternaltoPubCipherFlags(unsigned long internalFlags);SEC_END_PROTOS#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?