summaryrefslogtreecommitdiff
path: root/src/core/crypto
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/crypto')
-rw-r--r--src/core/crypto/key_manager.cpp8
-rw-r--r--src/core/crypto/key_manager.h3
2 files changed, 11 insertions, 0 deletions
diff --git a/src/core/crypto/key_manager.cpp b/src/core/crypto/key_manager.cpp
index 65a9fe802..4ff2c50e5 100644
--- a/src/core/crypto/key_manager.cpp
+++ b/src/core/crypto/key_manager.cpp
@@ -569,6 +569,10 @@ std::optional<std::pair<Key128, Key128>> ParseTicket(const Ticket& ticket,
569} 569}
570 570
571KeyManager::KeyManager() { 571KeyManager::KeyManager() {
572 ReloadKeys();
573}
574
575void KeyManager::ReloadKeys() {
572 // Initialize keys 576 // Initialize keys
573 const auto yuzu_keys_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::KeysDir); 577 const auto yuzu_keys_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::KeysDir);
574 578
@@ -702,6 +706,10 @@ void KeyManager::LoadFromFile(const std::filesystem::path& file_path, bool is_ti
702 } 706 }
703} 707}
704 708
709bool KeyManager::AreKeysLoaded() const {
710 return !s128_keys.empty() && !s256_keys.empty();
711}
712
705bool KeyManager::BaseDeriveNecessary() const { 713bool KeyManager::BaseDeriveNecessary() const {
706 const auto check_key_existence = [this](auto key_type, u64 index1 = 0, u64 index2 = 0) { 714 const auto check_key_existence = [this](auto key_type, u64 index1 = 0, u64 index2 = 0) {
707 return !HasKey(key_type, index1, index2); 715 return !HasKey(key_type, index1, index2);
diff --git a/src/core/crypto/key_manager.h b/src/core/crypto/key_manager.h
index 673cec463..8c864503b 100644
--- a/src/core/crypto/key_manager.h
+++ b/src/core/crypto/key_manager.h
@@ -267,6 +267,9 @@ public:
267 bool AddTicketCommon(Ticket raw); 267 bool AddTicketCommon(Ticket raw);
268 bool AddTicketPersonalized(Ticket raw); 268 bool AddTicketPersonalized(Ticket raw);
269 269
270 void ReloadKeys();
271 bool AreKeysLoaded() const;
272
270private: 273private:
271 KeyManager(); 274 KeyManager();
272 275