core: crypto: key_manager: Add methods to reload & validate keys.
This commit is contained in:
parent
f33776af67
commit
93bad47edb
2 changed files with 11 additions and 0 deletions
|
@ -569,6 +569,10 @@ std::optional<std::pair<Key128, Key128>> ParseTicket(const Ticket& ticket,
|
|||
}
|
||||
|
||||
KeyManager::KeyManager() {
|
||||
ReloadKeys();
|
||||
}
|
||||
|
||||
void KeyManager::ReloadKeys() {
|
||||
// Initialize keys
|
||||
const auto yuzu_keys_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::KeysDir);
|
||||
|
||||
|
@ -702,6 +706,10 @@ void KeyManager::LoadFromFile(const std::filesystem::path& file_path, bool is_ti
|
|||
}
|
||||
}
|
||||
|
||||
bool KeyManager::IsKeysLoaded() const {
|
||||
return !s128_keys.empty() && !s256_keys.empty();
|
||||
}
|
||||
|
||||
bool KeyManager::BaseDeriveNecessary() const {
|
||||
const auto check_key_existence = [this](auto key_type, u64 index1 = 0, u64 index2 = 0) {
|
||||
return !HasKey(key_type, index1, index2);
|
||||
|
|
|
@ -267,6 +267,9 @@ public:
|
|||
bool AddTicketCommon(Ticket raw);
|
||||
bool AddTicketPersonalized(Ticket raw);
|
||||
|
||||
void ReloadKeys();
|
||||
bool IsKeysLoaded() const;
|
||||
|
||||
private:
|
||||
KeyManager();
|
||||
|
||||
|
|
Loading…
Reference in a new issue