Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3598831pxj; Tue, 11 May 2021 07:56:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw2QAsGPOMPNu19GoA37rqrYhHmMtcQSpjCPb1aWkzX8CRdJr1aqNSHrhyr4qAvdsHynYTp X-Received: by 2002:a17:906:170f:: with SMTP id c15mr31733044eje.358.1620744994106; Tue, 11 May 2021 07:56:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620744994; cv=none; d=google.com; s=arc-20160816; b=cIKAPdb3H4un40KFtBaqBBoITXcKh09+GERYuOBm93GALfMx2m7oGRKv0+kRIdg5tj Hf0QnfsJpKA9QdOHdQ8RetTxVaEuT5YyrQ65Q3sL1okIciR3hmM1lYfxs4FTMAAiUEpC IXQTaH2nc9D8nEq+jphmzT8FIthwJq2gCM0EZJ8BLXwfhrbmyzN66stbhFQ4p2uQXlfM QKdfzT9AbMbz6Po899C0fTaW6fqSO9vSjrbDeCIPQD1QK+RolSm6X8E16IOa9QKm+QQD OLN3/cW9X1ez4awB+IEo6/bE/B6A5ctrutT3foWMFdiNMrlb8Lz/uY76PKKiLV6tyMcQ dy4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:subject:cc:to:from:date:dkim-filter; bh=LGG6iOKgbIZFzb0fg4ovAf1Y+m9HqQiVhnns/Qq+zc4=; b=D9WShxgq3EiOWu4eTN/jCv8DEmrZ17pJMLc4g3HwdUYhH6KqIJVhYvmKDY5tjZGAEX o8diJK+3IFbXqLbKwNTrYAktAssN6h5zAbISDelRh6R8G38vUop/4pj20qMxzZWqRD6J /a9a37yEmKT2ewNBdshLYT348tSZDxPgF3ffIHQ6PWnF92XTLAdVEAw5UDWbDBhXAQnm rdPF4iSbEeo6qvYpDEinGSr1QEZ1sh7tpmARrvH/IllwHQ8hNjflNnG1j+ez0h/9HvAn vROfZCjQJlbhSnQCsv8KPqCYhm4vkEUNgj6waYSZjYQeI6Mjn/JRyyx7ZGJ4zlnwp32i E3sw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id gu8si17343985ejb.497.2021.05.11.07.56.06; Tue, 11 May 2021 07:56:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231777AbhEKO5D (ORCPT + 99 others); Tue, 11 May 2021 10:57:03 -0400 Received: from mxout04.lancloud.ru ([45.84.86.114]:37372 "EHLO mxout04.lancloud.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231609AbhEKO5D (ORCPT ); Tue, 11 May 2021 10:57:03 -0400 X-Greylist: delayed 489 seconds by postgrey-1.27 at vger.kernel.org; Tue, 11 May 2021 10:57:02 EDT Received: from LanCloud DKIM-Filter: OpenDKIM Filter v2.11.0 mxout04.lancloud.ru 5209420C1E1A Received: from LanCloud Received: from LanCloud Received: from LanCloud Date: Tue, 11 May 2021 17:47:44 +0300 From: Elvira Khabirova To: CC: , , , , , Subject: [PATCH] pkcs7: support EC-RDSA/streebog in SignerInfo Message-ID: <20210511174744.4f3c6c59@msk1wst204> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Originating-IP: [192.168.11.198] X-ClientProxiedBy: LFEXT02.lancloud.ru (fd00:f066::142) To LFEX1903.lancloud.ru (fd00:f066::73) Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org 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 --- 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 967329e0a07b..39c260a04167 100644 --- a/crypto/asymmetric_keys/pkcs7_parser.c +++ b/crypto/asymmetric_keys/pkcs7_parser.c @@ -248,6 +248,12 @@ int pkcs7_sig_note_digest_algo(void *context, size_t hdrlen, case OID_sha224: ctx->sinfo->sig->hash_algo = "sha224"; 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; @@ -269,6 +275,11 @@ int pkcs7_sig_note_pkey_algo(void *context, size_t hdrlen, ctx->sinfo->sig->pkey_algo = "rsa"; ctx->sinfo->sig->encoding = "pkcs1"; 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.25.1