mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Merge pull request #4652 from lioncash/crypto
crypto/key_manager: Remove dependency on the global system accessor
This commit is contained in:
		
						commit
						0bac7b6a95
					
				| @ -23,7 +23,6 @@ | ||||
| #include "common/hex_util.h" | ||||
| #include "common/logging/log.h" | ||||
| #include "common/string_util.h" | ||||
| #include "core/core.h" | ||||
| #include "core/crypto/aes_util.h" | ||||
| #include "core/crypto/key_manager.h" | ||||
| #include "core/crypto/partition_data_manager.h" | ||||
| @ -1022,10 +1021,10 @@ void KeyManager::DeriveBase() { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| void KeyManager::DeriveETicket(PartitionDataManager& data) { | ||||
| void KeyManager::DeriveETicket(PartitionDataManager& data, | ||||
|                                const FileSys::ContentProvider& provider) { | ||||
|     // ETicket keys
 | ||||
|     const auto es = Core::System::GetInstance().GetContentProvider().GetEntry( | ||||
|         0x0100000000000033, FileSys::ContentRecordType::Program); | ||||
|     const auto es = provider.GetEntry(0x0100000000000033, FileSys::ContentRecordType::Program); | ||||
| 
 | ||||
|     if (es == nullptr) { | ||||
|         return; | ||||
|  | ||||
| @ -20,6 +20,10 @@ namespace Common::FS { | ||||
| class IOFile; | ||||
| } | ||||
| 
 | ||||
| namespace FileSys { | ||||
| class ContentProvider; | ||||
| } | ||||
| 
 | ||||
| namespace Loader { | ||||
| enum class ResultStatus : u16; | ||||
| } | ||||
| @ -252,7 +256,7 @@ public: | ||||
| 
 | ||||
|     bool BaseDeriveNecessary() const; | ||||
|     void DeriveBase(); | ||||
|     void DeriveETicket(PartitionDataManager& data); | ||||
|     void DeriveETicket(PartitionDataManager& data, const FileSys::ContentProvider& provider); | ||||
|     void PopulateTickets(); | ||||
|     void SynthesizeTickets(); | ||||
| 
 | ||||
|  | ||||
| @ -2592,8 +2592,10 @@ void GMainWindow::OnReinitializeKeys(ReinitializeKeyBehavior behavior) { | ||||
| 
 | ||||
|         const auto function = [this, &keys, &pdm] { | ||||
|             keys.PopulateFromPartitionData(pdm); | ||||
|             Core::System::GetInstance().GetFileSystemController().CreateFactories(*vfs); | ||||
|             keys.DeriveETicket(pdm); | ||||
| 
 | ||||
|             auto& system = Core::System::GetInstance(); | ||||
|             system.GetFileSystemController().CreateFactories(*vfs); | ||||
|             keys.DeriveETicket(pdm, system.GetContentProvider()); | ||||
|         }; | ||||
| 
 | ||||
|         QString errors; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Rodrigo Locatti
						Rodrigo Locatti