Lines Matching refs:pkey
68 software_key_determine_akcipher(const struct public_key *pkey,
77 if (strcmp(pkey->pkey_algo, "rsa") == 0) {
85 pkey->pkey_algo);
89 pkey->pkey_algo, hash_algo);
100 } else if (strncmp(pkey->pkey_algo, "ecdsa", 5) == 0) {
118 } else if (strcmp(pkey->pkey_algo, "sm2") == 0) {
125 } else if (strcmp(pkey->pkey_algo, "ecrdsa") == 0) {
137 if (strscpy(alg_name, pkey->pkey_algo, CRYPTO_MAX_ALG_NAME) < 0)
155 struct public_key *pkey = params->key->payload.data[asym_crypto];
160 ret = software_key_determine_akcipher(pkey, params->encoding,
170 key = kmalloc(pkey->keylen + sizeof(u32) * 2 + pkey->paramlen,
174 memcpy(key, pkey->key, pkey->keylen);
175 ptr = key + pkey->keylen;
176 ptr = pkey_pack_u32(ptr, pkey->algo);
177 ptr = pkey_pack_u32(ptr, pkey->paramlen);
178 memcpy(ptr, pkey->params, pkey->paramlen);
180 if (pkey->key_is_private)
181 ret = crypto_akcipher_set_priv_key(tfm, key, pkey->keylen);
183 ret = crypto_akcipher_set_pub_key(tfm, key, pkey->keylen);
195 if (pkey->key_is_private)
214 const struct public_key *pkey = params->key->payload.data[asym_crypto];
225 ret = software_key_determine_akcipher(pkey, params->encoding,
239 key = kmalloc(pkey->keylen + sizeof(u32) * 2 + pkey->paramlen,
244 memcpy(key, pkey->key, pkey->keylen);
245 ptr = key + pkey->keylen;
246 ptr = pkey_pack_u32(ptr, pkey->algo);
247 ptr = pkey_pack_u32(ptr, pkey->paramlen);
248 memcpy(ptr, pkey->params, pkey->paramlen);
250 if (pkey->key_is_private)
251 ret = crypto_akcipher_set_priv_key(tfm, key, pkey->keylen);
253 ret = crypto_akcipher_set_pub_key(tfm, key, pkey->keylen);
357 int public_key_verify_signature(const struct public_key *pkey,
371 BUG_ON(!pkey);
384 if (strcmp(pkey->pkey_algo, sig->pkey_algo) != 0 &&
385 (strncmp(pkey->pkey_algo, "ecdsa-", 6) != 0 ||
390 ret = software_key_determine_akcipher(pkey, sig->encoding,
404 buf_len = max_t(size_t, pkey->keylen + sizeof(u32) * 2 + pkey->paramlen,
411 memcpy(buf, pkey->key, pkey->keylen);
412 ptr = buf + pkey->keylen;
413 ptr = pkey_pack_u32(ptr, pkey->algo);
414 ptr = pkey_pack_u32(ptr, pkey->paramlen);
415 memcpy(ptr, pkey->params, pkey->paramlen);
417 if (pkey->key_is_private)
418 ret = crypto_akcipher_set_priv_key(tfm, buf, pkey->keylen);
420 ret = crypto_akcipher_set_pub_key(tfm, buf, pkey->keylen);
424 if (strcmp(pkey->pkey_algo, "sm2") == 0 && sig->data_size) {