Changes

Jump to navigation Jump to search
1,004 bytes added ,  11:58, 18 November 2017
no edit summary
Line 10: Line 10:  
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.
 
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.
   −
Every time the system connects to the wifi AP, the BOSS(SpotPass) module itself will download the cleartext xml policylist: "https://nppl.c.app.nintendowifi.net/p01/policylist/3/<countrycode>". This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all. The user-agent used for this policylist is: "PBOS-5.0/<printed hex u64 LocalFriendCodeSeed>-<unknown hex u64>/<text [[CVer|system]] [[NVer|version]]>/<unknown decimal value>/0".
+
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: "ap=<NZoneApNum>".
 +
 
 +
== policylist ==
 +
Every time the system connects to the wifi AP, the BOSS ("Background online storage service" = SpotPass) module itself will download the cleartext xml policylist: "https://nppl.c.app.nintendowifi.net/p01/policylist/3/<countrycode>". This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all. The default user-agent used for SpotPass HTTPS requests(including this policylist) is: "PBOS-5.0/<printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]>-<hex u64 obtained via the friends service>/<text [[CVer|system]] [[NVer|version]]>/<unknown decimal value>/0". No user-agent is used for plaintext HTTP requests with SpotPass.
 +
 
 +
As of the policylist updated 2017-11-08, this stops the <tt>OlvNotf</tt> (Miiverse notification sync) task for <tt>000400300000bc00</tt>, <tt>000400300000bd00</tt>, <tt>000400300000be00</tt> for all regions and <tt>basho0</tt> for the [[Home Menu]]. Japan also has the <tt>9ER_NTD</tt> task blocked for いつの間にテレビ (<tt>0004000000034700</tt>).
    
== Titles Spotpass usage ==
 
== Titles Spotpass usage ==
Line 33: Line 38:  
== Content Container ==
 
== Content Container ==
   −
SpotPass content can use this container to encrypt the payload and sign it, however SpotPass also supports downloading raw content without this container. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.
+
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.
    
=== BOSS Header ===
 
=== BOSS Header ===
Line 94: Line 99:  
| 0x10
 
| 0x10
 
| 0x2
 
| 0x2
| FileID used for the extdata filename
+
| Used for generating the extdata filepath.
 
|-
 
|-
 
| 0x12
 
| 0x12
Line 105: Line 110:  
|}
 
|}
   −
The first 0x10-bytes are all-zero except the first byte which is 0x80. It's unknown what the first 0x10-bytes are used for.
+
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It's unknown what the first 0x10-bytes are used for.
    
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory. The data following the payload header is written to extdata, but it's unknown what data is written to the extdata file before the content payload.
 
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory. The data following the payload header is written to extdata, but it's unknown what data is written to the extdata file before the content payload.
Line 126: Line 131:  
| 0xC
 
| 0xC
 
| 0x4
 
| 0x4
| Usually 0x10001?
+
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].
 +
Usually 0x10001? (observed 0x20001 in eShop strings)
 
|-
 
|-
 
| 0x10
 
| 0x10
Line 134: Line 140:  
| 0x14
 
| 0x14
 
| 0x4
 
| 0x4
| Extdata FileID
+
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.
 
|-
 
|-
 
| 0x18
 
| 0x18
Line 142: Line 148:  
| 0x1C
 
| 0x1C
 
| 0x20
 
| 0x20
| SHA-256 hash, unknown what this hashes
+
| SHA-256 hash
 
|-
 
|-
 
| 0x3C
 
| 0x3C
Line 150: Line 156:     
This signature is signed by Nintendo with the same key-pair as the content header.
 
This signature is signed by Nintendo with the same key-pair as the content header.
 +
 +
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).
    
[[Category:Nintendo Software]]
 
[[Category:Nintendo Software]]
149

edits

Navigation menu