Envelope Files: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== | 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 CTS mode, and signed using a public key. For encryption keys or public keys, see [[Envelope Files/Encryption|Encryption]]. | |||
== Format == | |||
Fields are little-endian. | Fields are little-endian. | ||
Line 26: | 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 | | Message Data || <code>0x150</code> || Message Size || || Encrypted message bytes. Encryption key and public key varies with content ID | ||
|} | |} | ||
== Content == | |||
The underlying unencrypted message format varies between different content. | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
! style="width: 5%" | ID | ! style="width: 5%" | ID | ||
! style="width: 15%" | Name | ! style="width: 15%" | Name | ||
! style="width: | ! style="width: 15%" | Description | ||
! style="width: | ! style="width: 15%" | Process | ||
! style="width: 30%" | Files/URLs | |||
! style="width: 20%" | Remarks | ! style="width: 20%" | Remarks | ||
|- | |- | ||
Line 43: | Line 50: | ||
| beta_updatelist | | beta_updatelist | ||
| Beta Update List | | Beta Update List | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code><nowiki>https://fus01.ps4.update.playstation.net/update/ps4/beta/list/us/ps4-updatelist_?.xml</nowiki></code> | * <code><nowiki>https://fus01.ps4.update.playstation.net/update/ps4/beta/list/us/ps4-updatelist_?.xml</nowiki></code> | ||
Line 50: | Line 58: | ||
| timezone | | timezone | ||
| Timezone | | Timezone | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code>/system_data/priv/settings_app/timezone.dat.env</code> | * <code>/system_data/priv/settings_app/timezone.dat.env</code> | ||
Line 58: | Line 67: | ||
| system_log_config | | system_log_config | ||
| System Log Config | | System Log Config | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code>/system/priv/system_log_ro/config/*.env</code> | * <code>/system/priv/system_log_ro/config/*.env</code> | ||
Line 69: | Line 79: | ||
| system_log_unknown | | system_log_unknown | ||
| | | | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
|- | |- | ||
| <code>5</code> | | <code>5</code> | ||
| | | bgdc_config | ||
| | | Background Daily Checker | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgdc/np/v00/bgdc-config.xml.env</nowiki></code> | * <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgdc/np/v00/bgdc-config.xml.env</nowiki></code> | ||
Line 79: | Line 91: | ||
|- | |- | ||
| <code>6</code> | | <code>6</code> | ||
| | | wctl_config | ||
| Title Workaround Control | | Title Workaround Control | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code>/mnt/disc/PS4/WCTL/wctl-config.env</code> | * <code>/mnt/disc/PS4/WCTL/wctl-config.env</code> | ||
Line 90: | Line 103: | ||
| morpheus_updatelist | | morpheus_updatelist | ||
| Morpheus (VR) Update List | | Morpheus (VR) Update List | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code><nowiki>https://f01.vrs.update.playstation.net/update/vrs/list/vrs-updatelist-utDCG9ywva92MlS0rXGRUJCjpDtsw38V.xml</nowiki></code> | * <code><nowiki>https://f01.vrs.update.playstation.net/update/vrs/list/vrs-updatelist-utDCG9ywva92MlS0rXGRUJCjpDtsw38V.xml</nowiki></code> | ||
Line 95: | Line 109: | ||
|- | |- | ||
| <code>8</code> | | <code>8</code> | ||
| | | netev_config | ||
| | | | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code>/system_data/priv/netev/netev-config.env</code> | * <code>/system_data/priv/netev/netev-config.env</code> | ||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/netev/np/v00/netev-config.env</nowiki></code> | * <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/netev/np/v00/netev-config.env</nowiki></code> | ||
| | |||
|- | |||
| <code>9</code> | |||
| gls_config | |||
| | |||
| <code>/system/vsh/app/NPXS21000/eboot.bin</code> | |||
| | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/gls/np/v00/gls-default-config.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/gls/np/v01/gls-default-config.env</nowiki></code> | |||
| | | | ||
|- | |- | ||
Line 105: | Line 129: | ||
| hid_config | | hid_config | ||
| | | | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code>/system/priv/hid_config_service_ro/hid_config.env</code> | * <code>/system/priv/hid_config_service_ro/hid_config.env</code> | ||
Line 114: | Line 139: | ||
| hidusbpower | | hidusbpower | ||
| | | | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code>/system/priv/hid_config_service_ro/hidusbpower.env</code> | * <code>/system/priv/hid_config_service_ro/hidusbpower.env</code> | ||
Line 121: | Line 147: | ||
|- | |- | ||
| <code>13</code> | | <code>13</code> | ||
| | | patch_hmac_key | ||
| | | | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| Embedded data in <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
|- | |- | ||
| <code>14</code> | | <code>14</code> | ||
| bgft | | bgft | ||
| | | Background File Transfer | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgft/np/v00/bgft.env</nowiki></code> | * <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgft/np/v00/bgft.env</nowiki></code> | ||
Line 142: | Line 170: | ||
| system_log_privacy | | system_log_privacy | ||
| | | | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code>/system/priv/system_log_ro/platform_privacy/*.env</code> | * <code>/system/priv/system_log_ro/platform_privacy/*.env</code> | ||
| Added 5.00 | | Added 5.00 | ||
|- | |||
| <code>18</code> | |||
| webbrowser_xutil | |||
| | |||
| <code>/system_ex/app/NPXS20001/eboot.bin</code> | |||
| | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/webbrowser/np/v00/webbrowser_features.env</nowiki></code> | |||
| | |||
* Added 5.00 | |||
* Exposed to C# shell via <code>sceXutilGetEnvelopeDataFromFile<code> / <code>sceXutilGetEnvelopeDataFromBuffer</code>. | |||
|- | |- | ||
| <code>19</code> | | <code>19</code> | ||
| entitlementmgr_config | | entitlementmgr_config | ||
| | | | ||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | | | ||
* <code><nowiki>https://ps4-system.sec.np.dl.playstation.net/ps4-system/entitlementmgr/np/v00/entitlementmgr_config.env</nowiki></code> | * <code><nowiki>https://ps4-system.sec.np.dl.playstation.net/ps4-system/entitlementmgr/np/v00/entitlementmgr_config.env</nowiki></code> | ||
| Added > | | Added >5.05 <=7.00 | ||
|- | |||
| <code>21</code> | |||
| jsnex_netflixdeckeys | |||
| | |||
| <code>/system_ex/app/NPXS20001/eboot.bin</code> | |||
| Embedded data in <code>/system_ex/app/NPXS20001/eboot.bin</code> | |||
| Added >5.05 <=7.00 | |||
|- | |||
| <code>22</code> | |||
| party_config | |||
| | |||
| <code>/system/vsh/app/NPXS21002/eboot.bin</code> | |||
| | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/party/np/v00/party_config.env</nowiki></code> | |||
| Added >5.05 <=7.00 | |||
|} | |} | ||
{{File Formats}} | |||
<noinclude>[[Category:Main]]</noinclude> |
Latest revision as of 16:35, 28 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 CTS mode, and signed using a public key. For encryption keys or public keys, see Encryption.
Format[edit | edit source]
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[edit | edit source]
The underlying unencrypted message format varies between different content.
ID | Name | Description | Process | Files/URLs | Remarks |
---|---|---|---|---|---|
1
|
beta_updatelist | Beta Update List | /system/vsh/SceShellCore.elf
|
|
Password "?" in URL varies with system version |
2
|
timezone | Timezone | /system/vsh/SceShellCore.elf
|
|
|
3
|
system_log_config | System Log Config | /system/vsh/SceShellCore.elf
|
|
Version in URL varies with system version |
4
|
system_log_unknown | /system/vsh/SceShellCore.elf
|
|||
5
|
bgdc_config | Background Daily Checker | /system/vsh/SceShellCore.elf
|
|
|
6
|
wctl_config | Title Workaround Control | /system/vsh/SceShellCore.elf
|
|
|
7
|
morpheus_updatelist | Morpheus (VR) Update List | /system/vsh/SceShellCore.elf
|
|
|
8
|
netev_config | /system/vsh/SceShellCore.elf
|
|
||
9
|
gls_config | /system/vsh/app/NPXS21000/eboot.bin
|
|
||
10
|
hid_config | /system/vsh/SceShellCore.elf
|
|
||
12
|
hidusbpower | /system/vsh/SceShellCore.elf
|
|
Added >3.70 <=4.05 | |
13
|
patch_hmac_key | /system/vsh/SceShellCore.elf
|
Embedded data in /system/vsh/SceShellCore.elf
|
||
14
|
bgft | Background File Transfer | /system/vsh/SceShellCore.elf
|
|
Version in URL varies with system version |
17
|
system_log_privacy | /system/vsh/SceShellCore.elf
|
|
Added 5.00 | |
18
|
webbrowser_xutil | /system_ex/app/NPXS20001/eboot.bin
|
|
| |
19
|
entitlementmgr_config | /system/vsh/SceShellCore.elf
|
|
Added >5.05 <=7.00 | |
21
|
jsnex_netflixdeckeys | /system_ex/app/NPXS20001/eboot.bin
|
Embedded data in /system_ex/app/NPXS20001/eboot.bin
|
Added >5.05 <=7.00 | |
22
|
party_config | /system/vsh/app/NPXS21002/eboot.bin
|
|
Added >5.05 <=7.00 |