📄 h_extern.h
字号:
// RNG routines//CK_RV rng_generate( CK_BYTE *output, CK_ULONG bytes );// SSL3 routines//CK_RV ssl3_mac_sign( SESSION *sess, CK_BBOOL length_only, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * out_data, CK_ULONG * out_data_len );CK_RV ssl3_mac_sign_update( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len );CK_RV ssl3_mac_sign_final( SESSION *sess, CK_BBOOL length_only, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * out_data, CK_ULONG * out_data_len );CK_RV ssl3_mac_verify( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * signature, CK_ULONG sig_len );CK_RV ssl3_mac_verify_update( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len );CK_RV ssl3_mac_verify_final( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * signature, CK_ULONG sig_len );CK_RV ssl3_master_key_derive( SESSION * sess, CK_MECHANISM * mech, CK_OBJECT_HANDLE base_key, CK_ATTRIBUTE * attributes, CK_ULONG count, CK_OBJECT_HANDLE * handle );CK_RV ssl3_key_and_mac_derive( SESSION * sess, CK_MECHANISM * mech, CK_OBJECT_HANDLE base_key, CK_ATTRIBUTE * attributes, CK_ULONG count );CK_RV ckm_ssl3_pre_master_key_gen( TEMPLATE *tmpl, CK_MECHANISM *mech );// RSA routines//CK_RV rsa_pkcs_encrypt( SESSION * sess, CK_BBOOL length_only, ENCR_DECR_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * out_data, CK_ULONG * out_data_len );CK_RV rsa_pkcs_decrypt( SESSION * sess, CK_BBOOL length_only, ENCR_DECR_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * out_data, CK_ULONG * out_data_len );CK_RV rsa_pkcs_sign ( SESSION * sess, CK_BBOOL length_only, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * signature, CK_ULONG * sig_len );CK_RV rsa_pkcs_verify ( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * signature, CK_ULONG sig_len );CK_RV rsa_pkcs_verify_recover ( SESSION * sess, CK_BBOOL length_only, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * signature, CK_ULONG sig_len, CK_BYTE * out_data, CK_ULONG * out_len );CK_RV rsa_x509_encrypt ( SESSION * sess, CK_BBOOL length_only, ENCR_DECR_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * out_data, CK_ULONG * out_data_len );CK_RV rsa_x509_decrypt ( SESSION * sess, CK_BBOOL length_only, ENCR_DECR_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * out_data, CK_ULONG * out_data_len );CK_RV rsa_x509_sign ( SESSION * sess, CK_BBOOL length_only, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * signature, CK_ULONG * sig_len );CK_RV rsa_x509_verify ( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * signature, CK_ULONG sig_len );CK_RV rsa_x509_verify_recover( SESSION * sess, CK_BBOOL length_only, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * signature, CK_ULONG sig_len, CK_BYTE * out_data, CK_ULONG * out_len );CK_RV rsa_hash_pkcs_sign ( SESSION * sess, CK_BBOOL length_only, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * signature, CK_ULONG * sig_len );CK_RV rsa_hash_pkcs_verify ( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * signature, CK_ULONG sig_len );CK_RV rsa_hash_pkcs_sign_update ( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len );CK_RV rsa_hash_pkcs_verify_update ( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len );CK_RV rsa_hash_pkcs_sign_final ( SESSION * sess, CK_BBOOL length_only, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * signature, CK_ULONG * sig_len );CK_RV rsa_hash_pkcs_verify_final ( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * signature, CK_ULONG sig_len );// RSA mechanisms//CK_RV ckm_rsa_key_pair_gen( TEMPLATE *publ_tmpl, TEMPLATE *priv_tmpl );CK_RV ckm_rsa_encrypt( CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * out_data, OBJECT * key_obj );CK_RV ckm_rsa_decrypt( CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * out_data, OBJECT * key_obj );CK_RV ckm_rsa_compute_priv_exp( TEMPLATE *tmpl );#ifndef NODSA// DSA routines//CK_RV dsa_sign ( SESSION * sess, CK_BBOOL length_only, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * signature, CK_ULONG * sig_len );CK_RV dsa_verify ( SESSION * sess, SIGN_VERIFY_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * signature, CK_ULONG sig_len );// DSA mechanisms//CK_RV ckm_dsa_key_pair_gen( TEMPLATE *publ_tmpl, TEMPLATE *priv_tmpl );CK_RV ckm_dsa_sign( CK_BYTE *in_data, // must be 20 bytes CK_BYTE *signature, // must be 40 bytes OBJECT *priv_key );CK_RV ckm_dsa_verify( CK_BYTE *signature, // must be 40 bytes CK_BYTE *data, // must be 20 bytes OBJECT *publ_key );#endif /* Begin code contributed by Corrent corp. */// DH routines//#ifndef NODH CK_RVdh_pkcs_derive( SESSION * sess, CK_MECHANISM * mech, CK_OBJECT_HANDLE base_key, CK_ATTRIBUTE * pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE * handle ) ; // DH mechanisms//CK_RVckm_dh_pkcs_derive( CK_VOID_PTR other_pubkey, CK_ULONG other_pubkey_len, CK_OBJECT_HANDLE base_key, CK_BYTE *secret, CK_ULONG *secret_len ) ; CK_RVckm_dh_key_pair_gen( TEMPLATE *publ_tmpl, TEMPLATE *priv_tmpl ); #endif/* End code contributed by Corrent corp. */// DES routines - I have to provide two different versions of these// because encryption routines are also used internally// so we can't assume that external-to-external buffering// will be possible and combining them into a single// function is messy.//CK_RV pk_des_ecb_encrypt( SESSION *sess, CK_BBOOL length_only, ENCR_DECR_CONTEXT *context, CK_BYTE *in_data, CK_ULONG in_data_len, CK_BYTE *out_data, CK_ULONG *out_data_len );CK_RV des_ecb_decrypt( SESSION *sess, CK_BBOOL length_only, ENCR_DECR_CONTEXT *context, CK_BYTE *in_data, CK_ULONG in_data_len, CK_BYTE *out_data, CK_ULONG *out_data_len );CK_RV pk_des_cbc_encrypt( SESSION *sess, CK_BBOOL length_only, ENCR_DECR_CONTEXT *context, CK_BYTE *in_data, CK_ULONG in_data_len, CK_BYTE *out_data, CK_ULONG *out_data_len );CK_RV des_cbc_decrypt( SESSION *sess, CK_BBOOL length_only, ENCR_DECR_CONTEXT *context, CK_BYTE *in_data, CK_ULONG in_data_len, CK_BYTE *out_data, CK_ULONG *out_data_len );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -