[PATCH] scripts: rkimage: Use non-deprecated functions for sha256/512

Sascha Hauer s.hauer at pengutronix.de
Tue May 2 05:27:05 PDT 2023


SHA256_Init() and SHA512_Init() are deprecated since OpensSSL 3.0. Use
EVP functions instead to calculate hashes.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 scripts/rkimage.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/scripts/rkimage.c b/scripts/rkimage.c
index 6e68d508ac..551114ed82 100644
--- a/scripts/rkimage.c
+++ b/scripts/rkimage.c
@@ -9,7 +9,7 @@
 #include <stdint.h>
 #include <string.h>
 #include <time.h>
-#include <openssl/sha.h>
+#include <openssl/evp.h>
 #include <errno.h>
 #include <stdbool.h>
 
@@ -22,20 +22,24 @@
 
 static void sha256(const void *buf, int len, void *out)
 {
-	SHA256_CTX sha256;
+	EVP_MD_CTX *md_ctx;
 
-	SHA256_Init(&sha256);
-	SHA256_Update(&sha256, buf, len);
-	SHA256_Final(out, &sha256);
+	md_ctx = EVP_MD_CTX_new();
+	EVP_DigestInit(md_ctx, EVP_sha256());
+	EVP_DigestUpdate(md_ctx, buf, len);
+	EVP_DigestFinal(md_ctx, out, NULL);
+	EVP_MD_CTX_free(md_ctx);
 }
 
 static void sha512(const void *buf, int len, void *out)
 {
-	SHA512_CTX sha512;
+	EVP_MD_CTX *md_ctx;
 
-	SHA512_Init(&sha512);
-	SHA512_Update(&sha512, buf, len);
-	SHA512_Final(out, &sha512);
+	md_ctx = EVP_MD_CTX_new();
+	EVP_DigestInit(md_ctx, EVP_sha512());
+	EVP_DigestUpdate(md_ctx, buf, len);
+	EVP_DigestFinal(md_ctx, out, NULL);
+	EVP_MD_CTX_free(md_ctx);
 }
 
 typedef enum {
-- 
2.39.2




More information about the barebox mailing list