Hi Stephan,
> -----Original Message-----
> >+++ b/drivers/crypto/caam/caam_rsaprivkey.asn1
> >@@ -0,0 +1,11 @@
> >+RsaPrivKey ::= SEQUENCE {
> >+ version INTEGER,
> >+ n INTEGER ({ caam_rsa_get_n }),
> >+ e INTEGER ({ caam_rsa_get_e }),
> >+ d INTEGER ({ caam_rsa_get_d }),
> >+ prime1 INTEGER,
> >+ prime2 INTEGER,
> >+ exponent1 INTEGER,
> >+ exponent2 INTEGER,
> >+ coefficient INTEGER
> >+}
>
> Why do you define your own ASN.1 sequence? Why not using the common
> crypto/rsaprivkey.asn1?
>
[ta] The functions indicated in crypto/rsaprivkey.asn1 return the key members
in MPI format. Our hardware expects the keys as u8 buffers; retrieving the key
members in MPI format and then writing them to u8 buffers would be an
unnecessary step.
> >diff --git a/drivers/crypto/caam/caampkc.c b/drivers/crypto/caam/caampkc.c
> >new file mode 100644
> >index 0000000..8dd5ff2
> >--- /dev/null
> >+++ b/drivers/crypto/caam/caampkc.c
> >@@ -0,0 +1,616 @@
> >+int caam_rsa_get_n(void *context, size_t hdrlen, unsigned char tag,
> >+ const void *value, size_t vlen)
>
> This function and the following functions are very similar to the ones in
> rsa_helper.c -- shouldn't those be used instead?
>
[ta] Those functions use the MPI lib and I don't need it.
> >+static void rsa_free_key(struct caam_pkc_context *ctx)
> >+{
> >+ kfree(ctx->n);
> >+ ctx->n = NULL;
> >+ kfree(ctx->e);
> >+ ctx->e = NULL;
> >+
> >+ if (ctx->d) {
> >+ memset(ctx->d, '\0', ctx->key_sz);
> >+ kfree(ctx->d);
>
> kzfree, please
>
Thanks,
ta
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html