From e9d39639a5297c1601f025c8fddd30a936fedc16 Mon Sep 17 00:00:00 2001 From: Lee Jones Date: Tue, 5 Oct 2021 14:33:06 +0100 Subject: [PATCH] FROMLIST: sign-file: Use OpenSSL provided define to compile out deprecated APIs OpenSSL's ENGINE API is deprecated in OpenSSL v3.0. Use OPENSSL_NO_ENGINE to disallow its use and fall back on the BIO API. This is required for fully hermetic builds in android-kernel. Link: https://lore.kernel.org/lkml/20211005161833.1522737-1-lee.jones@linaro.org/ Fixes: bce40b72a381b ("ANDROID: Disable hermetic toolchain for allmodconfig builds") Co-developed-by: Adam Langley Signed-off-by: Lee Jones Change-Id: I5ecac477c274ef040934710fd4a042c133942e34 --- scripts/sign-file.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/scripts/sign-file.c b/scripts/sign-file.c index fbd34b8e8f57..fa3fa59db666 100644 --- a/scripts/sign-file.c +++ b/scripts/sign-file.c @@ -135,7 +135,9 @@ static int pem_pw_cb(char *buf, int len, int w, void *v) static EVP_PKEY *read_private_key(const char *private_key_name) { EVP_PKEY *private_key; + BIO *b; +#ifndef OPENSSL_NO_ENGINE if (!strncmp(private_key_name, "pkcs11:", 7)) { ENGINE *e; @@ -153,17 +155,16 @@ static EVP_PKEY *read_private_key(const char *private_key_name) private_key = ENGINE_load_private_key(e, private_key_name, NULL, NULL); ERR(!private_key, "%s", private_key_name); - } else { - BIO *b; - - b = BIO_new_file(private_key_name, "rb"); - ERR(!b, "%s", private_key_name); - private_key = PEM_read_bio_PrivateKey(b, NULL, pem_pw_cb, - NULL); - ERR(!private_key, "%s", private_key_name); - BIO_free(b); + return private_key; } +#endif + b = BIO_new_file(private_key_name, "rb"); + ERR(!b, "%s", private_key_name); + private_key = PEM_read_bio_PrivateKey(b, NULL, pem_pw_cb, + NULL); + ERR(!private_key, "%s", private_key_name); + BIO_free(b); return private_key; }