SPL services: Difference between revisions

No edit summary
No edit summary
Line 515: Line 515:
| 7005 ||  
| 7005 ||  
|}
|}
The below 7000+ cmds take a KeySource (equivalent to NX-GenerateAesKey) and an u32. Bitmask 0x1F of the u32 is the Generation, 0x20 is valid but doesn't seem to do anything. Values >=0x21 throw error. A 0x10-byte outbuf is used for the output key. Cmd7004/Cmd7005 use a 0x20-byte outbuf. These are equivalent to GenerateAesKek+GenerateAesKey combined.
Cmd7000-Cmd7003 use NX keys, while Cmd7004/Cmd7005 use Ounce keys.
All of these use AES-ECB with the input KeySource, with the buffer as the output.
== Cmd7000 ==
Takes an input 16-byte '''KeySource''', an input u32, and an output type-0xA buffer '''AesKey'''.
Generates a key using the NX-equivalent of the ldn Kek-action_keysource.
== Cmd7001 ==
Takes an input 16-byte '''KeySource''', an input u32, and an output type-0xA buffer '''AesKey'''.
Generates a key using the NX-equivalent of the ldn Kek-data_keysource.
== Cmd7002 ==
Takes an input 16-byte '''KeySource''', an input u32, and an output type-0xA buffer '''AesKey'''.
== Cmd7003 ==
Takes an input 16-byte '''KeySource''', an input u32, and an output type-0xA buffer '''AesKey'''.
== Cmd7004 ==
Takes an input 32-byte '''KeySource''', an input u32, and an output type-0xA buffer '''AesKey'''.
Ounce version of Cmd7000. [[LDN_services|ldn]] only uses the first 0x10-bytes of the output key.
== Cmd7005 ==
Takes an input 32-byte '''KeySource''', an input u32, and an output type-0xA buffer '''AesKey'''.
Ounce version of Cmd7001. [[LDN_services|ldn]] only uses the first 0x10-bytes of the output key.


[[Category:Services]]
[[Category:Services]]