📄 h_extern.h
字号:
MY_RV C_EncryptUpdate ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen );MY_RV C_EncryptFinal ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastEncryptedPart, CK_ULONG_PTR pulLastEncryptedPartLen);// Decryption functions//MY_RV C_DecryptInit ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey );MY_RV C_Decrypt ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedData, CK_ULONG ulEncryptedDataLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen );MY_RV C_DecryptUpdate ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen );MY_RV C_DecryptFinal ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastPart, CK_ULONG_PTR pulLastPartLen );// Message digesting functions//MY_RV C_DigestInit ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism );MY_RV C_Digest ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen );MY_RV C_DigestUpdate ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen );MY_RV C_DigestKey ( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hKey );MY_RV C_DigestFinal ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen );// Signing and MAC functions//MY_RV C_SignInit ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey );MY_RV C_Sign ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen );MY_RV C_SignUpdate ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen );MY_RV C_SignFinal ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen );MY_RV C_SignRecoverInit ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey );MY_RV C_SignRecover ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen );// Signature/MAC verification functions//MY_RV C_VerifyInit ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey );MY_RV C_Verify ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen );MY_RV C_VerifyUpdate ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen );MY_RV C_VerifyFinal ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen );MY_RV C_VerifyRecoverInit ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey );MY_RV C_VerifyRecover ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen );// Dual-function cryptographics functions//MY_RV C_DigestEncryptUpdate ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen );MY_RV C_DecryptDigestUpdate ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen );MY_RV C_SignEncryptUpdate ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen );MY_RV C_DecryptVerifyUpdate ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen );// Key management functions//MY_RV C_GenerateKey ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phKey );MY_RV C_GenerateKeyPair ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pPublicKeyTemplate, CK_ULONG ulPublicKeyAttributeCount, CK_ATTRIBUTE_PTR pPrivateKeyTemplate, CK_ULONG ulPrivateKeyAttributeCount, CK_OBJECT_HANDLE_PTR phPublicKey, CK_OBJECT_HANDLE_PTR phPrivateKey );MY_RV C_WrapKey ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hWrappingKey, CK_OBJECT_HANDLE hKey, CK_BYTE_PTR pWrappedKey, CK_ULONG_PTR pulWrappedKeyLen );MY_RV C_UnwrapKey ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hUnwrappingKey, CK_BYTE_PTR pWrappedKey, CK_ULONG ulWrappedKeyLen, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey );MY_RV C_DeriveKey ( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hBaseKey, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey );// Random number generation functions//MY_RV C_SeedRandom ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed, CK_ULONG ulSeedLen );MY_RV C_GenerateRandom ( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pRandomData, CK_ULONG ulRandomLen );// Parallel function management functions//MY_RV C_GetFunctionStatus ( CK_SESSION_HANDLE hSession );MY_RV C_CancelFunction ( CK_SESSION_HANDLE hSession );//// internal routines are below this point//CK_RV communicate( CK_ULONG cmd_id, CK_VOID_PTR pReq, CK_ULONG req_len, CK_VOID_PTR pRep, CK_ULONG_PTR repl_len, CK_BYTE_PTR pOut, CK_ULONG out_len, CK_BYTE_PTR pIn, CK_ULONG in_len );CK_RV compute_next_token_obj_name( CK_BYTE *current, CK_BYTE *next );CK_RV save_token_object ( OBJECT *obj );CK_RV save_public_token_object ( OBJECT *obj );CK_RV save_private_token_object( OBJECT *obj );CK_RV load_public_token_objects ( void );CK_RV load_private_token_objects( void );CK_RV reload_token_object( OBJECT *obj );CK_RV restore_private_token_object( CK_BYTE * data, CK_ULONG len, OBJECT * pObj );CK_RV delete_token_object( OBJECT *ptr );CK_RV init_token_data( void );CK_RV load_token_data( void );CK_RV save_token_data( void );CK_RV load_masterkey_so ( void );CK_RV load_masterkey_user( void );CK_RV save_masterkey_so ( void );CK_RV save_masterkey_user( void );CK_RV compute_md5( CK_BYTE *data, CK_ULONG len, CK_BYTE *hash );CK_RV compute_sha( CK_BYTE *data, CK_ULONG len, CK_BYTE *hash );CK_ULONG long_reverse( CK_ULONG x );//CK_RV load_FCV( void );//CK_RV save_FCV( FUNCTION_CTRL_VEC_RECORD *new_FCV );//CK_RV update_tweak_values( void *attributes, CK_ULONG count );//CK_RV query_tweak_values( CK_ATTRIBUTE_TYPE * attributes,// CK_ULONG count,// CK_BYTE ** reply,// CK_ULONG * reply_len );void init_slotInfo(void);void init_tokenInfo(void);CK_BYTE parity_adjust( CK_BYTE b );CK_RV parity_is_odd( CK_BYTE b );CK_RV build_attribute( CK_ATTRIBUTE_TYPE type, CK_BYTE *data, CK_ULONG data_len, CK_ATTRIBUTE **attr );CK_RV add_pkcs_padding( CK_BYTE * ptr, // where to start appending CK_ULONG block_size, CK_ULONG data_len, CK_ULONG total_len );CK_RV strip_pkcs_padding( CK_BYTE * ptr, CK_ULONG total_len, CK_ULONG * data_len );CK_RV remove_leading_zeros( CK_ATTRIBUTE *attr );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -