mirror of
https://github.com/DarkMatterCore/nxdumptool.git
synced 2025-01-25 00:53:48 +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.c | ||
bfttf.c | ||
bktr.c | ||
cert.c | ||
cnmt.c | ||
config.c | ||
es.c | ||
fs_ext.c | ||
gamecard.c | ||
hfs.c | ||
http.c | ||
keys.c | ||
legal_info.c | ||
lz4.c | ||
mem.c | ||
nacp.c | ||
nca.c | ||
nca_storage.c | ||
npdm.c | ||
nso.c | ||
nxdt_bfsar.c | ||
nxdt_json.c | ||
nxdt_log.c | ||
nxdt_utils.c | ||
pfs.c | ||
program_info.c | ||
romfs.c | ||
rsa.c | ||
save.c | ||
services.c | ||
sha3.c | ||
tik.c | ||
title.c | ||
ums.c | ||
usb.c |