aboutsummaryrefslogtreecommitdiff
path: root/src/core/crypto/key_manager.cpp
diff options
context:
space:
mode:
authorsmiRaphi <neogt404@gmail.com>2026-03-08 22:37:20 +0100
committercrueter <crueter@eden-emu.dev>2026-03-08 22:37:20 +0100
commit361e6209b2a7cbe2aec8119539f93b40f8a06213 (patch)
treed3685568459baa98169b5fbe1d1d332884da6d9d /src/core/crypto/key_manager.cpp
parent3d1a67af18128831539c24f804b112f75b0194fd (diff)
[settings] Add back & properly implement use_dev_keys (#3631)
Was removed recently but also wasn't really working before, this adds it to the debug UI (under the kiosk option) and also makes it properly reload the keys on launch & setting change. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3631 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: smiRaphi <neogt404@gmail.com> Co-committed-by: smiRaphi <neogt404@gmail.com>
Diffstat (limited to 'src/core/crypto/key_manager.cpp')
-rw-r--r--src/core/crypto/key_manager.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/core/crypto/key_manager.cpp b/src/core/crypto/key_manager.cpp
index 9a1b9d7a50..fc0ee064cc 100644
--- a/src/core/crypto/key_manager.cpp
+++ b/src/core/crypto/key_manager.cpp
@@ -21,6 +21,7 @@
#include "common/fs/path_util.h"
#include "common/hex_util.h"
#include "common/logging/log.h"
+#include "common/settings.h"
#include "common/string_util.h"
#include "core/crypto/aes_util.h"
#include "core/crypto/key_manager.h"
@@ -642,8 +643,15 @@ void KeyManager::ReloadKeys() {
const auto keys_dir = Common::FS::GetEdenPath(Common::FS::EdenPath::KeysDir);
if (!Common::FS::CreateDir(keys_dir))
LOG_ERROR(Core, "Failed to create the keys directory.");
- LoadFromFile(keys_dir / "prod.keys_autogenerated", false);
- LoadFromFile(keys_dir / "prod.keys", false);
+ if (Settings::values.use_dev_keys.GetValue()) {
+ dev_mode = true;
+ LoadFromFile(keys_dir / "dev.keys_autogenerated", false);
+ LoadFromFile(keys_dir / "dev.keys", false);
+ } else {
+ dev_mode = false;
+ LoadFromFile(keys_dir / "prod.keys_autogenerated", false);
+ LoadFromFile(keys_dir / "prod.keys", false);
+ }
LoadFromFile(keys_dir / "title.keys_autogenerated", true);
LoadFromFile(keys_dir / "title.keys", true);
LoadFromFile(keys_dir / "console.keys_autogenerated", false);
@@ -838,7 +846,7 @@ void KeyManager::WriteKeyToFile(KeyCategory category, std::string_view keyname,
std::string filename = "title.keys_autogenerated";
if (category == KeyCategory::Standard) {
- filename = "prod.keys_autogenerated";
+ filename = dev_mode ? "dev.keys_autogenerated" : "prod.keys_autogenerated";
} else if (category == KeyCategory::Console) {
filename = "console.keys_autogenerated";
}
@@ -936,6 +944,8 @@ bool KeyManager::KeyFileExists(bool title) {
const auto keys_dir = Common::FS::GetEdenPath(Common::FS::EdenPath::KeysDir);
if (title)
return Common::FS::Exists(keys_dir / "title.keys");
+ if (Settings::values.use_dev_keys.GetValue())
+ return Common::FS::Exists(keys_dir / "dev.keys");
return Common::FS::Exists(keys_dir / "prod.keys");
}