Lines Matching refs:tk
287 struct tpm_key *tk = asymmetric_key->payload.data[asym_crypto]; in asym_tpm_describe() local
289 if (!tk) in asym_tpm_describe()
297 struct tpm_key *tk = payload0; in asym_tpm_destroy() local
299 if (!tk) in asym_tpm_destroy()
302 kfree(tk->blob); in asym_tpm_destroy()
303 tk->blob_len = 0; in asym_tpm_destroy()
305 kfree(tk); in asym_tpm_destroy()
395 struct tpm_key *tk = params->key->payload.data[asym_crypto]; in tpm_key_query() local
412 der_pub_key_len = derive_pub_key(tk->pub_key, tk->pub_key_len, in tpm_key_query()
421 info->key_size = tk->key_len; in tpm_key_query()
422 info->max_data_size = tk->key_len / 8; in tpm_key_query()
425 info->max_dec_size = tk->key_len / 8; in tpm_key_query()
443 static int tpm_key_encrypt(struct tpm_key *tk, in tpm_key_encrypt() argument
466 der_pub_key_len = derive_pub_key(tk->pub_key, tk->pub_key_len, in tpm_key_encrypt()
503 static int tpm_key_decrypt(struct tpm_key *tk, in tpm_key_decrypt() argument
529 tk->blob, tk->blob_len, &keyhandle); in tpm_key_decrypt()
627 static int tpm_key_sign(struct tpm_key *tk, in tpm_key_sign() argument
664 if (in_len > tk->key_len / 8 - 11) { in tpm_key_sign()
677 tk->blob, tk->blob_len, &keyhandle); in tpm_key_sign()
707 struct tpm_key *tk = params->key->payload.data[asym_crypto]; in tpm_key_eds_op() local
713 ret = tpm_key_encrypt(tk, params, in, out); in tpm_key_eds_op()
716 ret = tpm_key_decrypt(tk, params, in, out); in tpm_key_eds_op()
719 ret = tpm_key_sign(tk, params, in, out); in tpm_key_eds_op()
734 const struct tpm_key *tk = key->payload.data[asym_crypto]; in tpm_key_verify_signature() local
746 BUG_ON(!tk); in tpm_key_verify_signature()
761 der_pub_key_len = derive_pub_key(tk->pub_key, tk->pub_key_len, in tpm_key_verify_signature()
813 static int extract_key_parameters(struct tpm_key *tk) in extract_key_parameters() argument
815 const void *cur = tk->blob; in extract_key_parameters()
816 uint32_t len = tk->blob_len; in extract_key_parameters()
890 tk->key_len = key_len; in extract_key_parameters()
891 tk->pub_key = pub_key; in extract_key_parameters()
892 tk->pub_key_len = sz; in extract_key_parameters()
901 struct tpm_key *tk; in tpm_key_create() local
914 tk = kzalloc(sizeof(struct tpm_key), GFP_KERNEL); in tpm_key_create()
915 if (!tk) in tpm_key_create()
918 tk->blob = kmemdup(blob, blob_len, GFP_KERNEL); in tpm_key_create()
919 if (!tk->blob) in tpm_key_create()
922 tk->blob_len = blob_len; in tpm_key_create()
924 r = extract_key_parameters(tk); in tpm_key_create()
928 return tk; in tpm_key_create()
931 kfree(tk->blob); in tpm_key_create()
932 tk->blob_len = 0; in tpm_key_create()
934 kfree(tk); in tpm_key_create()