Hi Mat,
On 05/13/2016 04:32 PM, Mat Martineau wrote:
quoted
+ params.data_len = req->src_len;
+ params.enc_len = req->dst_len;
Thanks for info. I have sent an update for this.
The params member names have changed (now in_len and out_len).
quoted
+ ret = encrypt_blob(¶ms, in, out);
The encrypt function for the key can now be called with params.key->type->asym_eds_op(). This also allows you to factor out the duplication in asym_key_encrypt, asym_key_decrypt, and asym_key_sign. See keyctl_pkey_e_d_s() in keyctl_pkey.c
quoted
+static int asym_key_verify(const struct key *key, struct akcipher_request *req)
...
quoted
+ ret = verify_signature(key, NULL, &sig);
key->type->asym_verify_signature() is available as well.
Since these operation will be triggered from userspace I think it's better to use the
official interface as defined in crypto/public_key.h instead of direct calls.
Some operation may not be implemented for a given key type and the official interface
performs necessary checks.
Thanks,
--
TS