[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210918080737.17252-3-tianjia.zhang@linux.alibaba.com>
Date: Sat, 18 Sep 2021 16:07:37 +0800
From: Tianjia Zhang <tianjia.zhang@...ux.alibaba.com>
To: David Howells <dhowells@...hat.com>,
Herbert Xu <herbert@...dor.apana.org.au>,
"David S. Miller" <davem@...emloft.net>,
Elvira Khabirova <e.khabirova@....ru>,
Vitaly Chikunov <vt@...linux.org>,
Stefan Berger <stefanb@...ux.ibm.com>,
Eric Biggers <ebiggers@...gle.com>,
Eric Biggers <ebiggers@...nel.org>,
Mimi Zohar <zohar@...ux.ibm.com>,
"Gilad Ben-Yossef" <gilad@...yossef.com>,
Pascal van Leeuwen <pvanleeuwen@...bus.com>,
keyrings@...r.kernel.org, linux-crypto@...r.kernel.org,
linux-kernel@...r.kernel.org,
Jia Zhang <zhang.jia@...ux.alibaba.com>,
"YiLin . Li" <YiLin.Li@...ux.alibaba.com>
Cc: Tianjia Zhang <tianjia.zhang@...ux.alibaba.com>
Subject: [PATCH v4 2/2] pkcs7: support EC-RDSA/streebog in SignerInfo
From: Elvira Khabirova <e.khabirova@....ru>
Allow using EC-RDSA/streebog in pkcs7 certificates in a similar way
to how it's done in the x509 parser.
This is needed e.g. for loading kernel modules signed with EC-RDSA.
Signed-off-by: Elvira Khabirova <e.khabirova@....ru>
Reviewed-by: Vitaly Chikunov <vt@...linux.org>
Reviewed-by: Tianjia Zhang <tianjia.zhang@...ux.alibaba.com>
---
crypto/asymmetric_keys/pkcs7_parser.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/crypto/asymmetric_keys/pkcs7_parser.c b/crypto/asymmetric_keys/pkcs7_parser.c
index 24e2e4a6d842..277482bb1777 100644
--- a/crypto/asymmetric_keys/pkcs7_parser.c
+++ b/crypto/asymmetric_keys/pkcs7_parser.c
@@ -251,6 +251,12 @@ int pkcs7_sig_note_digest_algo(void *context, size_t hdrlen,
case OID_sm3:
ctx->sinfo->sig->hash_algo = "sm3";
break;
+ case OID_gost2012Digest256:
+ ctx->sinfo->sig->hash_algo = "streebog256";
+ break;
+ case OID_gost2012Digest512:
+ ctx->sinfo->sig->hash_algo = "streebog512";
+ break;
default:
printk("Unsupported digest algo: %u\n", ctx->last_oid);
return -ENOPKG;
@@ -284,6 +290,11 @@ int pkcs7_sig_note_pkey_algo(void *context, size_t hdrlen,
ctx->sinfo->sig->pkey_algo = "sm2";
ctx->sinfo->sig->encoding = "raw";
break;
+ case OID_gost2012PKey256:
+ case OID_gost2012PKey512:
+ ctx->sinfo->sig->pkey_algo = "ecrdsa";
+ ctx->sinfo->sig->encoding = "raw";
+ break;
default:
printk("Unsupported pkey algo: %u\n", ctx->last_oid);
return -ENOPKG;
--
2.19.1.3.ge56e4f7
Powered by blists - more mailing lists