Tizen 5.x migration from OpenSSL 1.0.2 to OpenSSL 1.1.1
[platform/core/connectivity/smartcard-service.git] / common / OpensslHelper.cpp
index d71ab25..c34d657 100644 (file)
@@ -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);
                }