📄 defs.h
字号:
#define LEEDS_PRG_ID_PKCS_11 "PKCS11"enum { DUMMYFUNCTION = 99999, FCVFUNCTION = 99998, C_INITIALIZE = 1, C_FINALIZE, C_GETINFO, C_GETFUNCTIONLIST, C_GETSLOTLIST, C_GETSLOTINFO, C_GETTOKENINFO, C_WAITFORSLOTEVENT, C_GETMECHANISMLIST, C_GETMECHANISMINFO, C_INITTOKEN, C_INITPIN, C_SETPIN, C_OPENSESSION, C_CLOSESESSION, C_CLOSEALLSESSIONS, C_GETSESSIONINFO, C_GETOPERATIONSTATE, C_SETOPERATIONSTATE, C_LOGIN, C_LOGOUT, C_CREATEOBJECT, C_COPYOBJECT, C_DESTROYOBJECT, C_GETOBJECTSIZE, C_GETATTRIBUTEVALUE, C_SETATTRIBUTEVALUE, C_FINDOBJECTSINIT, C_FINDOBJECTS, C_FINDOBJECTSFINAL, C_ENCRYPTINIT, C_ENCRYPT, C_ENCRYPTUPDATE, C_ENCRYPTFINAL, C_DECRYPTINIT, C_DECRYPT, C_DECRYPTUPDATE, C_DECRYPTFINAL, C_DIGESTINIT, C_DIGEST, C_DIGESTUPDATE, C_DIGESTKEY, C_DIGESTFINAL, C_SIGNINIT, C_SIGN, C_SIGNUPDATE, C_SIGNFINAL, C_SIGNRECOVERINIT, C_SIGNRECOVER, C_VERIFYINIT, C_VERIFY, C_VERIFYUPDATE, C_VERIFYFINAL, C_VERIFYRECOVERINIT, C_VERIFYRECOVER, C_DIGESTENCRYPTUPDATE, C_DECRYPTDIGESTUPDATE, C_SIGNENCRYPTUPDATE, C_DECRYPTVERIFYUPDATE, C_GENERATEKEY, C_GENERATEKEYPAIR, C_WRAPKEY, C_UNWRAPKEY, C_DERIVEKEY, C_SEEDRANDOM, C_GENERATERANDOM, C_GETFUNCTIONSTATUS, C_CANCELFUNCTION};//typedef struct _LEEDS_PACKET//{// CK_ULONG cmd_id;// CK_ULONG pid;// CK_RV rc;// CK_ULONG data_len;// CK_BYTE data[4096];//} LEEDS_PACKET;#ifdef PKCS64typedef struct _LEEDS_REQUEST{ CK_ULONG_32 pid; CK_ULONG_32 req_len; // size of request data CK_ULONG_32 repl_max[4]; // any command-specific request data gets appended here //} LEEDS_REQUEST;typedef struct _LEEDS_REPLY{#ifdef PKCS64 CK_ULONG_32 rc;#else CK_RV rc;#endif CK_ULONG_32 repl_len[4]; // size of data // any command-specific reply data gets appended here //} LEEDS_REPLY;// this is the format of attributes that get passed between 4758 and host//// this is different from the CK_ATTRIBUTE format defined by Cryptoki.// CK_ATTRIBUTE uses a pointer to the data field but we need a flat// structure to pass between the coprocessor and host DLL. Further, we// need the length field to precede the data.//typedef struct _ATTRIBUTE{ CK_ATTRIBUTE_TYPE_32 type; CK_ULONG_32 value_length; // the value data is appended here //} ATTRIBUTE;typedef struct _DL_NODE{ struct _DL_NODE *next; struct _DL_NODE *prev; void *data;} DL_NODE;// this is a flattened version of the CK_SSL3_RANDOM_DATA//typedef struct _SSL3_RANDOM_DATA{ CK_ULONG_32 client_data_len; CK_ULONG_32 server_data_len; // client data is appended here // server data is appended here //} SSL3_RANDOM_DATA;////typedef struct _SSL3_MASTER_KEY_DERIVE_PARAMS{ CK_VERSION version; CK_ULONG_32 client_data_len; CK_ULONG_32 server_data_len; // client data is appended here // server data is appended here //} SSL3_MASTER_KEY_DERIVE_PARAMS;////typedef struct _SSL3_KEY_MAT_OUT{ CK_OBJECT_HANDLE_32 client_mac_secret; CK_OBJECT_HANDLE_32 server_mac_secret; CK_OBJECT_HANDLE_32 client_key; CK_OBJECT_HANDLE_32 server_key; CK_ULONG_32 iv_len; // in bytes // client IV is appended here // server IV is appended here //} SSL3_KEY_MAT_OUT;////typedef struct _SSL3_KEY_MAT_PARAMS{ CK_ULONG_32 mac_size_bits; CK_ULONG_32 key_size_bits; CK_ULONG_32 iv_size_bits; CK_BBOOL export; CK_ULONG_32 client_data_len; CK_ULONG_32 server_data_len; // client data is appended here // server data is appended here //} SSL3_KEY_MAT_PARAMS;// SAB XXX 64Bittypedef struct _VERSION{ CK_BYTE major; CK_BYTE minor;} VERSION;#else // !PKCS11// WJH Original struct definitions ...typedef struct _LEEDS_REQUEST{ CK_ULONG pid; CK_ULONG req_len; // size of request data CK_ULONG repl_max[4]; // any command-specific request data gets appended here //} LEEDS_REQUEST;typedef struct _LEEDS_REPLY{ CK_RV rc; CK_ULONG repl_len[4]; // size of data // any command-specific reply data gets appended here //} LEEDS_REPLY;// this is the format of attributes that get passed between 4758 and host//// this is different from the CK_ATTRIBUTE format defined by Cryptoki.// CK_ATTRIBUTE uses a pointer to the data field but we need a flat// structure to pass between the coprocessor and host DLL. Further, we// need the length field to precede the data.//typedef struct _ATTRIBUTE{ CK_ATTRIBUTE_TYPE type; CK_ULONG value_length; // the value data is appended here //} ATTRIBUTE;typedef struct _DL_NODE{ struct _DL_NODE *next; struct _DL_NODE *prev; void *data;} DL_NODE;// this is a flattened version of the CK_SSL3_RANDOM_DATA//typedef struct _SSL3_RANDOM_DATA{ CK_ULONG client_data_len; CK_ULONG server_data_len; // client data is appended here // server data is appended here //} SSL3_RANDOM_DATA;////typedef struct _SSL3_MASTER_KEY_DERIVE_PARAMS{ CK_VERSION version; CK_ULONG client_data_len; CK_ULONG server_data_len; // client data is appended here // server data is appended here //} SSL3_MASTER_KEY_DERIVE_PARAMS;////typedef struct _SSL3_KEY_MAT_OUT{ CK_OBJECT_HANDLE client_mac_secret; CK_OBJECT_HANDLE server_mac_secret; CK_OBJECT_HANDLE client_key; CK_OBJECT_HANDLE server_key; CK_ULONG iv_len; // in bytes // client IV is appended here // server IV is appended here //} SSL3_KEY_MAT_OUT;////typedef struct _SSL3_KEY_MAT_PARAMS{ CK_ULONG mac_size_bits; CK_ULONG key_size_bits; CK_ULONG iv_size_bits; CK_BBOOL export; CK_ULONG client_data_len; CK_ULONG server_data_len; // client data is appended here // server data is appended here //} SSL3_KEY_MAT_PARAMS;#endif // PKCS11#if (LEEDS_BUILD)#ifdef AIX#pragma options align=full#endif#ifdef LINUX#pragma pack( )#pragma options align=full#endif#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -