|
|
|
@ -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"); |
|
|
|
} |
|
|
|
|
|
|
|
|