From c076e8d007dd4ddb55925009fea3b7484feab1f0 Mon Sep 17 00:00:00 2001 From: Jihoon Jung Date: Fri, 14 Jun 2019 11:06:07 +0900 Subject: [PATCH] Tizen 5.x migration from OpenSSL 1.0.2 to OpenSSL 1.1.1 Change-Id: If9016adc7e0bb552f8172991a5e996e29742754c Signed-off-by: Jihoon Jung --- common/CMakeLists.txt | 2 +- common/OpensslHelper.cpp | 18 ++++++++++++++++++ packaging/smartcard-service.spec | 3 +-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 224e6bc..8677f14 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -15,7 +15,7 @@ AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SRCS) #MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs_common REQUIRED glib-2.0 gio-unix-2.0 dlog aul libssl libcrypto pkgmgr pkgmgr-info) +pkg_check_modules(pkgs_common REQUIRED glib-2.0 gio-unix-2.0 dlog aul openssl1.1 pkgmgr pkgmgr-info) MESSAGE("${LIB_NAME} ld flag : ${pkgs_common_LDFLAGS}") diff --git a/common/OpensslHelper.cpp b/common/OpensslHelper.cpp index d71ab25..c34d657 100644 --- a/common/OpensslHelper.cpp +++ b/common/OpensslHelper.cpp @@ -144,20 +144,38 @@ namespace smartcard_service_api if ((md = EVP_get_digestbyname(algorithm)) != NULL) { uint8_t temp[EVP_MAX_MD_SIZE] = { 0, }; +#if OPENSSL_VERSION_NUMBER < 0x10100000L // OpenSSL 1.0.2 EVP_MD_CTX mdCtx; +#else // OpenSSL 1.1.1 + EVP_MD_CTX *mdCtx; + mdCtx = EVP_MD_CTX_new(); +#endif unsigned int resultLen = 0; +#if OPENSSL_VERSION_NUMBER < 0x10100000L // OpenSSL 1.0.2 if (EVP_DigestInit(&mdCtx, md) > 0) { if (EVP_DigestUpdate(&mdCtx, buffer.getBuffer(), buffer.size()) == 0) { +#else // OpenSSL 1.1.1 + if (EVP_DigestInit(mdCtx, md) > 0) { + if (EVP_DigestUpdate(mdCtx, buffer.getBuffer(), buffer.size()) == 0) { +#endif _ERR("EVP_DigestUpdate failed"); } +#if OPENSSL_VERSION_NUMBER < 0x10100000L // OpenSSL 1.0.2 if (EVP_DigestFinal(&mdCtx, temp, &resultLen) > 0 && resultLen > 0) { +#else // OpenSSL 1.1.1 + if (EVP_DigestFinal(mdCtx, temp, &resultLen) > 0 && + resultLen > 0) { +#endif result.assign(temp, resultLen); ret = true; } } +#if OPENSSL_VERSION_NUMBER >= 0x10100000L // OpenSSL 1.1.1 + EVP_MD_CTX_free(mdCtx); +#endif } else { _ERR("EVP_get_digestbyname(\"%s\") returns NULL", algorithm); } diff --git a/packaging/smartcard-service.spec b/packaging/smartcard-service.spec index ec62fb9..ab1a2e2 100755 --- a/packaging/smartcard-service.spec +++ b/packaging/smartcard-service.spec @@ -10,8 +10,7 @@ BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(aul) -BuildRequires: pkgconfig(libssl) -BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(openssl1.1) BuildRequires: pkgconfig(pkgmgr) BuildRequires: pkgconfig(pkgmgr-info) BuildRequires: pkgconfig(cynara-client) -- 2.7.4