|
@@ -115,7 +115,12 @@ static int software_key_query(const struct kernel_pkey_params *params,
|
|
|
if (IS_ERR(tfm))
|
|
|
return PTR_ERR(tfm);
|
|
|
|
|
|
- ret = crypto_akcipher_set_pub_key(tfm, pkey->key, pkey->keylen);
|
|
|
+ if (pkey->key_is_private)
|
|
|
+ ret = crypto_akcipher_set_priv_key(tfm,
|
|
|
+ pkey->key, pkey->keylen);
|
|
|
+ else
|
|
|
+ ret = crypto_akcipher_set_pub_key(tfm,
|
|
|
+ pkey->key, pkey->keylen);
|
|
|
if (ret < 0)
|
|
|
goto error_free_tfm;
|
|
|
|
|
@@ -170,7 +175,12 @@ int public_key_verify_signature(const struct public_key *pkey,
|
|
|
if (!req)
|
|
|
goto error_free_tfm;
|
|
|
|
|
|
- ret = crypto_akcipher_set_pub_key(tfm, pkey->key, pkey->keylen);
|
|
|
+ if (pkey->key_is_private)
|
|
|
+ ret = crypto_akcipher_set_priv_key(tfm,
|
|
|
+ pkey->key, pkey->keylen);
|
|
|
+ else
|
|
|
+ ret = crypto_akcipher_set_pub_key(tfm,
|
|
|
+ pkey->key, pkey->keylen);
|
|
|
if (ret)
|
|
|
goto error_free_req;
|
|
|
|