diff mbox series

[v3,1/2] certs: Trigger creation of RSA module signing key if it's not an RSA key

Message ID 20210421194319.1489291-2-stefanb@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series Add support for ECDSA-signed kernel modules | expand

Commit Message

Stefan Berger April 21, 2021, 7:43 p.m. UTC
Address a kbuild issue where a developer created an ECDSA key for signing
kernel modules and then builds an older version of the kernel, when bi-
secting the kernel for example, that does not support ECDSA keys.

Trigger the creation of an RSA module signing key if it is not an RSA key.

Fixes: cfc411e7fff3 ("Move certificate handling to its own directory")
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
---
 certs/Makefile | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Jarkko Sakkinen April 27, 2021, 11:46 p.m. UTC | #1
On Wed, Apr 21, 2021 at 03:43:18PM -0400, Stefan Berger wrote:
> Address a kbuild issue where a developer created an ECDSA key for signing
> kernel modules and then builds an older version of the kernel, when bi-
> secting the kernel for example, that does not support ECDSA keys.
> 
> Trigger the creation of an RSA module signing key if it is not an RSA key.
> 
> Fixes: cfc411e7fff3 ("Move certificate handling to its own directory")
> Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>

Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>

> ---
>  certs/Makefile | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/certs/Makefile b/certs/Makefile
> index e3185c57fbd8..f64bc89ccbf1 100644
> --- a/certs/Makefile
> +++ b/certs/Makefile
> @@ -59,6 +59,11 @@ silent_redirect_openssl = 2>/dev/null
>  # external private key, because 'make randconfig' might enable such a
>  # boolean option and we unfortunately can't make it depend on !RANDCONFIG.
>  ifeq ($(CONFIG_MODULE_SIG_KEY),"certs/signing_key.pem")
> +
> +X509TEXT=$(shell openssl x509 -in $(CONFIG_MODULE_SIG_KEY) -text)
> +
> +$(if $(findstring rsaEncryption,$(X509TEXT)),,$(shell rm -f $(CONFIG_MODULE_SIG_KEY)))
> +
>  $(obj)/signing_key.pem: $(obj)/x509.genkey
>  	@$(kecho) "###"
>  	@$(kecho) "### Now generating an X.509 key pair to be used for signing modules."
> -- 
> 2.29.2
> 
> 

/Jarkko
diff mbox series

Patch

diff --git a/certs/Makefile b/certs/Makefile
index e3185c57fbd8..f64bc89ccbf1 100644
--- a/certs/Makefile
+++ b/certs/Makefile
@@ -59,6 +59,11 @@  silent_redirect_openssl = 2>/dev/null
 # external private key, because 'make randconfig' might enable such a
 # boolean option and we unfortunately can't make it depend on !RANDCONFIG.
 ifeq ($(CONFIG_MODULE_SIG_KEY),"certs/signing_key.pem")
+
+X509TEXT=$(shell openssl x509 -in $(CONFIG_MODULE_SIG_KEY) -text)
+
+$(if $(findstring rsaEncryption,$(X509TEXT)),,$(shell rm -f $(CONFIG_MODULE_SIG_KEY)))
+
 $(obj)/signing_key.pem: $(obj)/x509.genkey
 	@$(kecho) "###"
 	@$(kecho) "### Now generating an X.509 key pair to be used for signing modules."