From: Mat Martineau Subject: Re: [PATCH v8 6/6] crypto: AF_ALG - add support for key_id Date: Fri, 8 Jul 2016 09:38:28 -0700 (PDT) Message-ID: References: <146672252642.23101.15972023870303797249.stgit@tstruk-mobl1.ra.intel.com> <146672255872.23101.10938182451423661314.stgit@tstruk-mobl1.ra.intel.com> <783d7868-6aae-40da-5df6-6e41ca2284fc@intel.com> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII Cc: Mat Martineau , dhowells@redhat.com, herbert@gondor.apana.org.au, smueller@chronox.de, linux-api@vger.kernel.org, marcel@holtmann.org, linux-kernel@vger.kernel.org, keyrings@vger.kernel.org, linux-crypto@vger.kernel.org, dwmw2@infradead.org, davem@davemloft.net To: Tadeusz Struk Return-path: Received: from mga09.intel.com ([134.134.136.24]:63787 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755290AbcGHQoZ (ORCPT ); Fri, 8 Jul 2016 12:44:25 -0400 In-Reply-To: <783d7868-6aae-40da-5df6-6e41ca2284fc@intel.com> Sender: linux-crypto-owner@vger.kernel.org List-ID: On Fri, 8 Jul 2016, Tadeusz Struk wrote: > Hi Mat, > On 07/06/2016 12:38 PM, Mat Martineau wrote: >>> So it looks like the only thing that we need to return to the user in >>> this case is the return code. Do you agree? >> >> The way verify_signature is implemented today, the only output is the >> return code. For verify, maybe no read is required (just sendmsg() and >> check the return code). >> >> But this isn't the extent of the problem: verify_signature needs both >> the signature to be verified and the expected hash as inputs. How is the >> expected hash provided? Would you include it as a cmsg header? >> ALG_OP_VERIFY should have consistent inputs and outputs whether the key >> was set with ALG_SET_KEY_ID or ALG_SET_KEY. > > The signature of verify_signature() is quite different from the other > new public key handlers, i.e. create_signature(), encrypt_blob(), and > decrypt_blob(). For verify_signature() we need the following parameters: > encrypted src, hash function to use, expected digest. > The expected digest could be optional if we would modify the > verify_signature() to return the decrypted buffer. > I think the best solution for now would be to just return -ENOPROTOOPT > for verify_signature in SET_KEY_ID mode. > All the four operations will be supported in the SET_KEY mode and > all but verify_signature() will be supported in the SET_KEY_ID mode. > This can added later if we will find a way to pass all parameters in a > consistent way. What do you think? If you are ok with that I will send a > new version soon. Are the inputs and outputs defined for ALG_OP_VERIFY in SET_KEY mode going to work for hardware keys (like TPM) in SET_KEY_ID mode? That's needed if the verify SET_KEY_ID mode is to be added later. -- Mat Martineau Intel OTC