📄 args.h
字号:
typedef struct _DES3_ECB_ARGS{ CK_ULONG data_len; CK_BYTE key[3*DES_KEY_SIZE];} PACK_DATA DES3_ECB_Args;typedef struct _DES3_CBC_ARGS{ CK_ULONG data_len; CK_BYTE key[3*DES_KEY_SIZE]; CK_BYTE init_v[DES_BLOCK_SIZE];} PACK_DATA DES3_CBC_Args;//// GENERATE_RANDOMtypedef struct _RNG_Args{ CK_ULONG bytes;} PACK_DATA RNG_Args;// SHA1_DIGEST//typedef struct _SHA_Digest_Args{ CK_ULONG bytes; CK_BYTE last_bytes[4]; // last (total_bytes % 4) of input data // data to be hashed will be sent via external buffer transfer //} PACK_DATA SHA_Digest_Args;// SHA1_UPDATE//typedef struct _SHA_Update_Args{ CK_ULONG bytes; CK_ULONG running_length; CK_BYTE context[SHA1_HASH_SIZE]; // data to be hashed will be sent via external buffer transfer //} PACK_DATA SHA_Update_Args;// SHA1_FINAL//typedef struct _SHA_Final_Args{ CK_ULONG bytes; CK_ULONG running_length; CK_BYTE context[SHA1_HASH_SIZE]; CK_BYTE last_bytes[4]; // data to be hashed will be sent via external buffer transfer //} PACK_DATA SHA_Final_Args;// DES_KEYGEN//typedef struct _DES_KeyGen_Args{ CK_ULONG bytes; // 8, 16 or 24} PACK_DATA DES_KeyGen_Args;// CDMF_KEYGEN//typedef struct _CDMF_Transform_Args{ CK_BYTE des_key[DES_KEY_SIZE];} PACK_DATA CDMF_Transform_Args;// DSA_KEYPAIR_GEN//typedef struct _DSA_KeyGen_Args{ CK_ULONG prime_len; CK_ULONG subprime_len; CK_ULONG base_len; // CKA_PRIME value is appended here // // CKA_SUBPRIME value is appended here // // CKA_BASE value is appended here //} PACK_DATA DSA_KeyGen_Args;typedef struct _DSA_KeyGen_Reply{ CK_ULONG publ_exp_len; CK_ULONG priv_exp_len; // public is appended here // private is appended here //} PACK_DATA DSA_KeyGen_Reply;typedef struct _DSA_Sign_Args{ CK_BYTE data[SHA1_HASH_SIZE]; CK_ULONG prime_len; CK_ULONG subprime_len; CK_ULONG base_len; CK_ULONG exp_len; // prime is appended here // subprime is appended here // base is appended here // exponent is appended here (private) //} PACK_DATA DSA_Sign_Args;typedef struct _DSA_Verify_Args{ CK_BYTE data[SHA1_HASH_SIZE]; CK_BYTE sig[DSA_SIGNATURE_SIZE]; CK_ULONG prime_len; CK_ULONG subprime_len; CK_ULONG base_len; CK_ULONG exp_len; // prime is appended here // subprime is appended here // base is appended here // exponent is appended here (public) //} PACK_DATA DSA_Verify_Args;// RSA_KEYPAIR_GEN//typedef struct _RSA_KeyGen_Args{ CK_ULONG modulus_bits; CK_ULONG publ_exp_len; // public exponent is appended here //} PACK_DATA RSA_KeyGen_Args;typedef struct _RSA_KeyGen_Reply{ CK_ULONG modulus_len; CK_ULONG prime1_len; CK_ULONG prime2_len; CK_ULONG exp1_len; CK_ULONG exp2_len; CK_ULONG coeff_len; CK_ULONG priv_exp_len; // modulus is appended here // prime1 is appended here // prime2 is appended here // exp1 is appended here // exp2 is appended here // coeff is appended here // private exponent is appended here} PACK_DATA RSA_KeyGen_Reply;typedef struct _RSA_Encrypt_Args{ CK_ULONG data_len; CK_ULONG modulus_len; CK_ULONG publ_exp_len; // key data is appended here in the order listed // // cleartext is appended here //} PACK_DATA RSA_Encrypt_Args;typedef struct _RSA_Encrypt_Reply{ CK_ULONG data_len; // ciphertext is appended here //} PACK_DATA RSA_Encrypt_Reply;typedef struct _RSA_Decrypt_Args{ CK_ULONG data_len; CK_ULONG modulus_len; CK_ULONG publ_exp_len; CK_ULONG prime1_len; CK_ULONG prime2_len; CK_ULONG exp1_len; CK_ULONG exp2_len; CK_ULONG coeff_len; // key data is appended here in the order listed // // ciphertext is appended here //} PACK_DATA RSA_Decrypt_Args;typedef struct _RSA_Decrypt_Reply{ CK_ULONG data_len; // cleartext is appended here //} PACK_DATA RSA_Decrypt_Reply;//////#if 0typedef struct _InitPIN_Args{ CK_SESSION_HANDLE session_handle; CK_BYTE pin[MAX_PIN_LEN]; CK_ULONG pin_len;} InitPIN_Args;typedef struct _SetPIN_Args{ CK_SESSION_HANDLE session_handle; CK_BYTE old_pin[MAX_PIN_LEN]; CK_ULONG old_pin_len; CK_BYTE new_pin[MAX_PIN_LEN]; CK_ULONG new_pin_len;} SetPIN_Args;typedef struct _OpenSession_Args{ CK_SLOT_ID slot_id; CK_FLAGS flags; CK_VOID_PTR application_ptr; // not used CK_NOTIFY notify; // not used CK_BBOOL req_proc_handle;} OpenSession_Args;typedef struct _CloseSession_Args{ CK_SESSION_HANDLE session_handle;} CloseSession_Args;typedef struct _GetSessionInfo_Args{ CK_SESSION_HANDLE session_handle;} GetSessionInfo_Args;typedef struct _Login_Args{ CK_SESSION_HANDLE session_handle; CK_USER_TYPE user_type; CK_BYTE pin[MAX_PIN_LEN]; CK_ULONG pin_len;} Login_Args;typedef struct _Logout_Args{ CK_SESSION_HANDLE session_handle;} Logout_Args;// CreateObject_Args is a bit different. The attributes themselves// are passed as a datablock immediately following this structure//typedef struct _CreateObject_Args{ CK_SESSION_HANDLE session_handle; CK_ULONG attribute_count; CK_ULONG attribute_block_len; // attributes/template gets appended here //} CreateObject_Args;typedef struct _CopyObject_Args{ CK_SESSION_HANDLE session_handle; CK_OBJECT_HANDLE object_handle; CK_ULONG attribute_count; CK_ULONG attribute_block_len; // attributes/template gets appended here //} CopyObject_Args;typedef struct _DestroyObject_Args{ CK_SESSION_HANDLE session_handle; CK_OBJECT_HANDLE object_handle;} DestroyObject_Args;typedef struct _GetObjectSize_Args{ CK_SESSION_HANDLE session_handle; CK_OBJECT_HANDLE object_handle;} GetObjectSize_Args;typedef struct _GetAttributeValue_Args{ CK_SESSION_HANDLE session_handle; CK_OBJECT_HANDLE object_handle; CK_ULONG attribute_count; CK_ULONG attribute_block_len; CK_BBOOL size_only; // list of attribute types (CK_ATTRIBUTE_TYPE) gets appended here. //} GetAttributeValue_Args;typedef struct _SetAttributeValue_Args{ CK_SESSION_HANDLE session_handle; CK_OBJECT_HANDLE object_handle; CK_ULONG attribute_count; CK_ULONG attribute_block_len; // attribute template gets appended here //} SetAttributeValue_Args;typedef struct _FindObjectsInit_Args{ CK_SESSION_HANDLE session_handle; CK_ULONG attribute_count; CK_ULONG attribute_block_len; // attribute template gets appended here //} FindObjectsInit_Args;typedef struct _FindObjects_Args{ CK_SESSION_HANDLE session_handle; CK_ULONG max_count;} FindObjects_Args;typedef struct _FindObjectsFinal_Args{ CK_SESSION_HANDLE session_handle;} FindObjectsFinal_Args;typedef struct _GenerateRandom_Args{ CK_SESSION_HANDLE session_handle; CK_ULONG num_bytes;} GenerateRandom_Args;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -