⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h_extern.h

📁 IBM的Linux上的PKCS#11实现
💻 H
📖 第 1 页 / 共 5 页
字号:
             under this Agreement, whether expressly, by implication,             estoppel or otherwise. All rights in the Program not             expressly granted under this Agreement are reserved.             This Agreement is governed by the laws of the State of New             York and the intellectual property laws of the United             States of America. No party to this Agreement will bring a             legal action under this Agreement more than one year after             the cause of action arose. Each party waives its rights to             a jury trial in any resulting litigation. *//* (C) COPYRIGHT International Business Machines Corp. 2001,2002          *//***************************************************************************                          Change Log                          ==========       4/25/03    Kapil Sood (kapil@corrent.com)                  Added DH key pair generation and DH shared key derivation                  functions.   ****************************************************************************/#ifndef _H_EXTERN_H#define _H_EXTERN_H#if (LEEDS_BUILD)#ifdef NT_ON_I386  #pragma pack(1)#endif#if (AIX || LINUX)  #pragma options align=packed#endif#endifextern char * pk_dir;// global variables//extern CK_BBOOL  initialized;extern char *card_function_names[];extern char *total_function_names[];extern MECH_LIST_ELEMENT  mech_list[];extern CK_ULONG           mech_list_len;#ifdef NT_ON_I386extern void   native_mutex;#endif#if (defined( AIX) || defined(LINUX))extern pthread_mutex_t  native_mutex;#if LINUX#if SYSVSEMextern int xprocsemid;#endif#endif#endifextern  void *xproclock;extern MUTEX    pkcs_mutex, obj_list_mutex, sess_list_mutex, login_mutex;extern DL_NODE *sess_list;extern DL_NODE *sess_obj_list;extern DL_NODE *publ_token_obj_list;extern DL_NODE *priv_token_obj_list;extern DL_NODE *object_map;extern CK_BYTE master_key[3*DES_KEY_SIZE];extern CK_BYTE so_pin_md5[MD5_HASH_SIZE];extern CK_BYTE user_pin_md5[MD5_HASH_SIZE];extern CK_BYTE default_so_pin_sha[SHA1_HASH_SIZE];extern CK_BYTE default_so_pin_md5[MD5_HASH_SIZE];extern LW_SHM_TYPE *global_shm;extern TOKEN_DATA        *nv_token_data;extern CK_SLOT_INFO       slot_info;extern CK_ULONG next_object_handle;extern CK_ULONG next_session_handle;// SAB FIXME FIXMEextern CK_STATE  global_login_state;extern CK_BYTE            ber_AlgIdRSAEncryption[];extern CK_ULONG           ber_AlgIdRSAEncryptionLen;extern CK_BYTE            ber_rsaEncryption[];extern CK_ULONG           ber_rsaEncryptionLen;extern CK_BYTE            ber_idDSA[];extern CK_ULONG           ber_idDSALen;extern CK_BYTE   ber_md2WithRSAEncryption[];extern CK_ULONG  ber_md2WithRSAEncryptionLen;extern CK_BYTE   ber_md4WithRSAEncryption[];extern CK_ULONG  ber_md4WithRSAEncryptionLen;extern CK_BYTE   ber_md5WithRSAEncryption[];extern CK_ULONG  ber_md5WithRSAEncryptionLen;extern CK_BYTE   ber_sha1WithRSAEncryption[];extern CK_ULONG  ber_sha1WithRSAEncryptionLen;extern CK_ULONG           des_weak_count;extern CK_ULONG           des_semi_weak_count;extern CK_ULONG           des_possibly_weak_count;extern CK_BYTE            des_weak_keys[4][8];extern CK_BYTE            des_semi_weak_keys[12][8];extern CK_BYTE            des_possibly_weak_keys[48][8];#ifdef NT_ON_I386extern CK_FUNCTION_LIST   function_list;#endif#if (defined( AIX) || defined(LINUX))extern struct ST_FCN_LIST   function_list;#endifextern CK_C_INITIALIZE_ARGS cinit_args;CK_ULONG long_reverse( CK_ULONG x );// VACPP C runtime initialization/cleanup entry points//int  _CRT_init(void);int  _CRT_term(void);CK_RV DummyFunction( CK_SLOT_ID   slot_id, int arg );// General-purpose functions//MY_RV C_Initialize          ( CK_VOID_PTR              pInitArgs           );MY_RV C_Finalize            ( CK_VOID_PTR              pReserved           );MY_RV C_GetInfo             ( CK_INFO_PTR              pInfo               );MY_RV C_GetFunctionList     ( CK_FUNCTION_LIST_PTR_PTR ppFunctionList      );// Slot and token management functions//MY_RV C_GetSlotList         ( CK_BBOOL                 tokenPresent,                              CK_SLOT_ID_PTR           pSlotList,                              CK_ULONG_PTR             pulCount            );MY_RV C_GetSlotInfo         ( CK_SLOT_ID               slotID,                              CK_SLOT_INFO_PTR         pInfo               );MY_RV C_GetTokenInfo        ( CK_SLOT_ID               slotID,                              CK_TOKEN_INFO_PTR        pInfo               );MY_RV C_WaitForSlotEvent    ( CK_FLAGS                 flags,                              CK_SLOT_ID_PTR           pSlot,                              CK_VOID_PTR              pReserved           );MY_RV C_GetMechanismList    ( CK_SLOT_ID               slotID,                              CK_MECHANISM_TYPE_PTR    pMechanismList,                              CK_ULONG_PTR             pulCount            );MY_RV C_GetMechanismInfo    ( CK_SLOT_ID               slotID,                              CK_MECHANISM_TYPE        type,                              CK_MECHANISM_INFO_PTR    pInfo               );MY_RV C_InitToken           ( CK_SLOT_ID               slotID,                              CK_CHAR_PTR              pPin,                              CK_ULONG                 ulPinLen,                              CK_CHAR_PTR              pLabel              );MY_RV C_InitPIN             ( CK_SESSION_HANDLE        hSession,                              CK_CHAR_PTR              pPin,                              CK_ULONG                 ulPinLen            );MY_RV C_SetPIN              ( CK_SESSION_HANDLE        hSession,                              CK_CHAR_PTR              pOldPin,                              CK_ULONG                 ulOldLen,                              CK_CHAR_PTR              pNewPin,                              CK_ULONG                 ulNewLen            );// Session management functions//MY_RV C_OpenSession         ( CK_SLOT_ID               slotID,                              CK_FLAGS                 flags,                              CK_VOID_PTR              pApplication,                              CK_NOTIFY                Notify,                              CK_SESSION_HANDLE_PTR    phSession            );MY_RV C_CloseSession        ( CK_SESSION_HANDLE        hSession             );MY_RV C_CloseAllSessions    ( CK_SLOT_ID               slotID               );MY_RV C_GetSessionInfo      ( CK_SESSION_HANDLE        hSession,                              CK_SESSION_INFO_PTR      pInfo                );MY_RV C_GetOperationState   ( CK_SESSION_HANDLE        hSession,                              CK_BYTE_PTR              pOperationState,                              CK_ULONG_PTR             pulOperationStateLen );MY_RV C_SetOperationState   ( CK_SESSION_HANDLE        hSession,                              CK_BYTE_PTR              pOperationState,                              CK_ULONG                 ulOperationStateLen,                              CK_OBJECT_HANDLE         hEncryptionKey,                              CK_OBJECT_HANDLE         hAuthenticationKey   );MY_RV C_Login               ( CK_SESSION_HANDLE        hSession,                              CK_USER_TYPE             userType,                              CK_CHAR_PTR              pPin,                              CK_ULONG                 uPinLen              );MY_RV C_Logout              ( CK_SESSION_HANDLE        hSession             );// Object management functions//MY_RV C_CreateObject        ( CK_SESSION_HANDLE        hSession,                              CK_ATTRIBUTE_PTR         pTemplate,                              CK_ULONG                 ulCount,                              CK_OBJECT_HANDLE_PTR     phObject             );MY_RV C_CopyObject          ( CK_SESSION_HANDLE        hSession,                              CK_OBJECT_HANDLE         hObject,                              CK_ATTRIBUTE_PTR         pTemplate,                              CK_ULONG                 ulCount,                              CK_OBJECT_HANDLE_PTR     phNewObject          );MY_RV C_DestroyObject       ( CK_SESSION_HANDLE        hSession,                              CK_OBJECT_HANDLE         hObject              );MY_RV C_GetObjectSize       ( CK_SESSION_HANDLE        hSession,                              CK_OBJECT_HANDLE         hObject,                              CK_ULONG_PTR             pulSize              );MY_RV C_GetAttributeValue   ( CK_SESSION_HANDLE        hSession,                              CK_OBJECT_HANDLE         hObject,                              CK_ATTRIBUTE_PTR         pTemplate,                              CK_ULONG                 ulCount              );MY_RV C_SetAttributeValue   ( CK_SESSION_HANDLE        hSession,                              CK_OBJECT_HANDLE         hObject,                              CK_ATTRIBUTE_PTR         pTemplate,                              CK_ULONG                 ulCount              );MY_RV C_FindObjectsInit     ( CK_SESSION_HANDLE        hSession,                              CK_ATTRIBUTE_PTR         pTemplate,                              CK_ULONG                 ulCount              );MY_RV C_FindObjects         ( CK_SESSION_HANDLE        hSession,                              CK_OBJECT_HANDLE_PTR     phObject,                              CK_ULONG                 ulMaxObjectCount,                              CK_ULONG_PTR             pulObjectCount       );MY_RV C_FindObjectsFinal    ( CK_SESSION_HANDLE        hSession             );// Encryption functions//MY_RV C_EncryptInit         ( CK_SESSION_HANDLE        hSession,                              CK_MECHANISM_PTR         pMechanism,                              CK_OBJECT_HANDLE         hKey                 );MY_RV C_Encrypt             ( CK_SESSION_HANDLE        hSession,                              CK_BYTE_PTR              pData,                              CK_ULONG                 ulDataLen,                              CK_BYTE_PTR              pEncryptedData,                              CK_ULONG_PTR             pulEncryptedDataLen  );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -