diff options
Diffstat (limited to 'src/core/crypto/key_manager.cpp')
| -rw-r--r-- | src/core/crypto/key_manager.cpp | 16 |
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"); } |
