Envelope Files: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(Wrong size for file signature) |
||
Line 30: | Line 30: | ||
| Message Hash || <code>0x030</code> || 32 || || SHA256 hash of unencrypted message bytes | | Message Hash || <code>0x030</code> || 32 || || SHA256 hash of unencrypted message bytes | ||
|- | |- | ||
| File Signature || <code>0x050</code> || | | File Signature || <code>0x050</code> || 256 || || Verified using public key | ||
|- | |- | ||
| Message Data || <code>0x150</code> || Message Size || || Encrypted message bytes. Encryption key and public key varies with content ID | | Message Data || <code>0x150</code> || Message Size || || Encrypted message bytes. Encryption key and public key varies with content ID |
Revision as of 01:28, 24 March 2020
Envelope files are a general purpose container format for encrypting and signing a message. This format was likely introduced in FW 3.00 (>2.56 <=3.50).
Messages are encrypted using AES128 in CBC mode, and signed using a public key. For encryption keys or public keys, see Encryption.
Format
Fields are little-endian.
Name | Offset | Size | Example | Remark |
---|---|---|---|---|
Signature | 0x000 |
4 | CC CB 73 51 |
Four bytes, not an int |
Version | 0x004 |
4 | 00 00 00 00 |
Only version 0 (zero) exists |
Content ID | 0x008 |
4 | 01 00 00 00 |
See Content |
Unknown | 0x00C |
4 | 00 00 00 00 |
Always 0 |
Message Size | 0x010 |
8 | 83 03 00 00 00 00 00 00 |
Size of the message in bytes. |
Unknown | 0x018 |
8 | 00 00 00 00 00 00 00 00 |
Always 0 |
Message IV | 0x020 |
16 | IV for encrypted message | |
Message Hash | 0x030 |
32 | SHA256 hash of unencrypted message bytes | |
File Signature | 0x050 |
256 | Verified using public key | |
Message Data | 0x150 |
Message Size | Encrypted message bytes. Encryption key and public key varies with content ID |
Content
The underlying unencrypted message format varies between different content.
ID | Name | Description | Files/URLs | Remarks |
---|---|---|---|---|
1
|
beta_updatelist | Beta Update List |
|
Password "?" in URL varies with system version |
2
|
timezone | Timezone |
|
|
3
|
system_log_config | System Log Config |
|
Version in URL varies with system version |
4
|
system_log_unknown | |||
5
|
bgdc | Background Daily Checker |
|
|
6
|
wctl | Title Workaround Control |
|
|
7
|
morpheus_updatelist | Morpheus (VR) Update List |
|
|
8
|
netev |
|
||
10
|
hid_config |
|
||
12
|
hidusbpower |
|
Added >3.70 <=4.05 | |
13
|
patch | |||
14
|
bgft | Background File Transfer |
|
Version in URL varies with system version |
17
|
system_log_privacy |
|
Added 5.00 | |
19
|
entitlementmgr_config |
|
Added >5.05 <=7.00 |