Migrate to openssl 3.0 19/296119/1 accepted/tizen/unified/20230725.012952
authorWootak Jung <wootak.jung@samsung.com>
Thu, 20 Jul 2023 05:17:24 +0000 (14:17 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Thu, 20 Jul 2023 05:17:24 +0000 (14:17 +0900)
Change-Id: I1ce99cce5dff3fbe13eb9c1d9a48460435f4344c
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
CMakeLists.txt
packaging/capi-telephony.spec
src/telephony_sim.c

index 81ec8ce2d1927518ae26296b2ac4a09565862773..ed8c76cda743aefb48124be82d58277718b4e051 100644 (file)
@@ -14,7 +14,7 @@ IF(STDOUT_LOG)
        ADD_DEFINITIONS("-DTEL_STDOUT")
 ENDIF(STDOUT_LOG)
 
-PKG_CHECK_MODULES(pkgs REQUIRED dlog tapi glib-2.0 capi-base-common openssl1.1
+PKG_CHECK_MODULES(pkgs REQUIRED dlog tapi glib-2.0 capi-base-common openssl3
     capi-system-info cynara-client cynara-session cynara-creds-self gio-2.0)
 INCLUDE_DIRECTORIES(${pkgs_INCLUDE_DIRS})
 LINK_DIRECTORIES(${pkgs_LIBRARY_DIRS})
index b0e220ba4ba6eeffb81184f6ece22b186fec98e7..52b7885d1debddd26832bf8191754e76f5f1fa29 100644 (file)
@@ -13,7 +13,7 @@ BuildRequires: pkgconfig(dlog)
 BuildRequires: pkgconfig(tapi)
 BuildRequires: pkgconfig(glib-2.0)
 BuildRequires: pkgconfig(capi-base-common)
-BuildRequires: pkgconfig(openssl1.1)
+BuildRequires: pkgconfig(openssl3)
 BuildRequires: pkgconfig(capi-system-info)
 BuildRequires: pkgconfig(cynara-client)
 BuildRequires: pkgconfig(cynara-session)
index 142eddcffe702e426ef3fa4b81fc7a04f1472c91..8e26dc1b7c5b4663986743fa2cf9d6f2306281ac 100644 (file)
@@ -20,7 +20,7 @@
 #include <stdio.h>
 #include <glib.h>
 #include <gio/gio.h>
-#include <openssl/sha.h>
+#include <openssl/evp.h>
 #include <tapi_common.h>
 #include <TapiUtility.h>
 #include <ITapiSim.h>
@@ -475,23 +475,29 @@ API int telephony_sim_get_subscriber_id(telephony_h handle, char **subscriber_id
                TelSimImsiInfo_t imsi_info;
                error_code = tel_get_sim_imsi(tapi_h, &imsi_info);
                if (error_code == TAPI_API_SUCCESS) {
-                       SHA256_CTX ctx;
+                       EVP_MD_CTX *md_ctx;
+                       const EVP_MD *sha256;
+                       unsigned char md[EVP_MAX_MD_SIZE];
+                       unsigned int md_len;
                        char *imsi;
-                       unsigned char md[SHA256_DIGEST_LENGTH];
                        int i;
 
                        imsi = g_strdup_printf("%s%s%s",
                                imsi_info.szMcc, imsi_info.szMnc, imsi_info.szMsin);
 
-                       SHA256_Init(&ctx);
-                       SHA256_Update(&ctx, imsi, strlen(imsi));
-                       SHA256_Final(md, &ctx);
+                       md_ctx = EVP_MD_CTX_new();
+                       sha256 = EVP_sha256();
 
-                       *subscriber_id = malloc(SHA256_DIGEST_LENGTH * 2 + 1);
-                       for (i = 0; i < SHA256_DIGEST_LENGTH; i++)
+                       EVP_DigestInit_ex(md_ctx, sha256, NULL);
+                       EVP_DigestUpdate(md_ctx, imsi, strlen(imsi));
+                       EVP_DigestFinal_ex(md_ctx, md, &md_len);
+
+                       subscriber_id = g_malloc0(md_len * 2 + 1);
+                       for (i = 0; i < md_len; i++)
                                snprintf(*subscriber_id + (i * 2), 3,  "%02x", md[i]);
                        INFO("Subscriber ID: [%s]", *subscriber_id);
                        g_free(imsi);
+                       EVP_MD_CTX_free(md_ctx);
                /* LCOV_EXCL_START */
                } else if (error_code == TAPI_API_ACCESS_DENIED) {
                        ERR("get_subscriber_id: PERMISSION_DENIED");