Browse Source
Bump minimum OpenSSL to 3.0, and replace sha256 thing with EVP
Signed-off-by: crueter <crueter@eden-emu.dev>
pull/3606/head
crueter
2 weeks ago
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
3 changed files with
14 additions and
6 deletions
-
CMakeLists.txt
-
cpmfile.json
-
src/core/hle/service/ro/ro.cpp
|
|
|
@ -386,7 +386,7 @@ if (YUZU_USE_BUNDLED_OPENSSL) |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
|
|
|
|
find_package(OpenSSL 1.1.1 REQUIRED) |
|
|
|
find_package(OpenSSL 3 REQUIRED) |
|
|
|
|
|
|
|
if (YUZU_USE_CPM) |
|
|
|
message(STATUS "Fetching needed dependencies with CPM") |
|
|
|
|
|
|
|
@ -5,7 +5,7 @@ |
|
|
|
"name": "openssl", |
|
|
|
"repo": "crueter-ci/OpenSSL", |
|
|
|
"version": "3.6.0-1cb0d36b39", |
|
|
|
"min_version": "1.1.1" |
|
|
|
"min_version": "3" |
|
|
|
}, |
|
|
|
"boost": { |
|
|
|
"package": "Boost", |
|
|
|
|
|
|
|
@ -4,6 +4,8 @@ |
|
|
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
|
|
|
#include <openssl/err.h>
|
|
|
|
#include <openssl/evp.h>
|
|
|
|
#include <openssl/sha.h>
|
|
|
|
|
|
|
|
#include "common/scope_exit.h"
|
|
|
|
@ -180,10 +182,16 @@ struct ProcessContext { |
|
|
|
|
|
|
|
std::vector<u8> nro_data(size); |
|
|
|
m_process->GetMemory().ReadBlock(base_address, nro_data.data(), size); |
|
|
|
SHA256_CTX sha256; |
|
|
|
SHA256_Init(&sha256); |
|
|
|
SHA256_Update(&sha256, nro_data.data(), nro_data.size()); |
|
|
|
SHA256_Final(hash.data(), &sha256); |
|
|
|
|
|
|
|
EVP_MD_CTX *ctx = EVP_MD_CTX_new(); |
|
|
|
ASSERT(ctx); |
|
|
|
|
|
|
|
EVP_DigestInit(ctx, EVP_sha256()); |
|
|
|
EVP_DigestUpdate(ctx, nro_data.data(), nro_data.size()); |
|
|
|
u32 length = 0; |
|
|
|
EVP_DigestFinal_ex(ctx, hash.data(), &length); |
|
|
|
|
|
|
|
EVP_MD_CTX_free(ctx); |
|
|
|
} |
|
|
|
|
|
|
|
for (size_t i = 0; i < MaxNrrInfos; i++) { |
|
|
|
|