mirror of
https://github.com/DarkMatterCore/nxdumptool.git
synced 2024-12-23 17:06:02 +00:00
f79680184d
* aes: add aes128EcbCrypt() as a one-shot function to perform AES-128-ECB crypto. The rest of the codebase now calls this function whenever suitable. * fs_ext: add const keyword to IPC input structs wherever suitable. * key_sources: add hardcoded master key vectors (prod, dev); master KEK sources (Erista, Mariko); master key source; ticket common key source; SMC key type sources; SMC seal key masks; AES key generation source; NCA header KEK source; NCA header key source and NCA KAEK sources. Also fixed the hardcoded gamecard CardInfo key source for dev units (it was previously generated using retail keydata, my bad). * keys: remove keysGetNcaMainSignatureModulus(); remove keysDecryptNcaKeyAreaEntry(); repurpose keyset struct to only hold keys that can actually be used for the current hardware type; remove KeysGameCardKeyset; remove keysIsXXModulusYYMandatory() helpers; remove keysRetrieveKeysFromProgramMemory(); remove keysDeriveSealedNcaKeyAreaEncryptionKeys(); add keysDeriveMasterKeys() and keysDerivePerGenerationKeys(); rename keysDeriveGameCardKeys() -> keysDeriveGcCardInfoKey(); add small reimplementations of GenerateAesKek, LoadAesKey and GenerateAesKey; add keysLoadAesKeyFromAesKek() and keysGenerateAesKeyFromAesKek() wrappers. Furthermore, master key derivation is now carried out manually using hardcoded key sources and the last known master key, which is loaded from the Lockpick_RCM keys file -- if the last known master key is unavailable, the key derivation algorithm will then fallback to TSEC root key / Mariko KEK based key derivation, depending on the hardware type. * nca: add hardcoded NCA man signature moduli (prod, dev); merge ncaDecryptKeyArea() and ncaEncryptKeyArea() into ncaKeyAreaCrypt(). * nxdt_utils: add utilsIsMarikoUnit(); remove _utilsAppletModeCheck(); rename utilsAppletModeCheck() -> utilsIsAppletMode(). * services: remove spl:mig dependency (yay). * smc: add SmcKeyType enum; add SmcSealKey enum; add SmcGenerateAesKekOption struct; add smcPrepareGenerateAesKekOption(). |
||
---|---|---|
.. | ||
aes.h | ||
bfttf.h | ||
bktr.h | ||
cert.h | ||
cnmt.h | ||
config.h | ||
elf_symbol.h | ||
es.h | ||
fs_ext.h | ||
gamecard.h | ||
hfs.h | ||
http.h | ||
key_sources.h | ||
keys.h | ||
legal_info.h | ||
lz4.h | ||
mem.h | ||
nacp.h | ||
nca.h | ||
nca_storage.h | ||
npdm.h | ||
nso.h | ||
nxdt_bfsar.h | ||
nxdt_includes.h | ||
nxdt_json.h | ||
nxdt_log.h | ||
nxdt_utils.h | ||
pfs.h | ||
program_info.h | ||
romfs.h | ||
rsa.h | ||
save.h | ||
service_guard.h | ||
services.h | ||
sha3.h | ||
signature.h | ||
smc.h | ||
tik.h | ||
title.h | ||
ums.h | ||
usb.h |