Changes

1,321 bytes added ,  19:15, 5 March 2016
no edit summary
Line 105: Line 105:  
==Trusted RootCAs==
 
==Trusted RootCAs==
 
During startup NIM-module creates two RootCertChains with [[HTTP_Services|HTTPC]]. Both of these only contain the same [[HTTPC:RootCertChainAddDefaultCert|default]] cert with ID 0x3. The first RootCertChain is used with NetUpdateSOAP. Requests such as the "notifications.json" page don't use these RootCertChains(in this case just [[HTTPC:AddDefaultCert|default]] certID 0xB is used).
 
During startup NIM-module creates two RootCertChains with [[HTTP_Services|HTTPC]]. Both of these only contain the same [[HTTPC:RootCertChainAddDefaultCert|default]] cert with ID 0x3. The first RootCertChain is used with NetUpdateSOAP. Requests such as the "notifications.json" page don't use these RootCertChains(in this case just [[HTTPC:AddDefaultCert|default]] certID 0xB is used).
 +
 +
=Sysupdate checking process=
 +
This section describes the process used when checking whether a sysupdate is required.
 +
 +
First the GetSystemTitleHash SOAP request is done. Then the SystemTitleHash in savedata hash.dat is compared with the received one. If they match and the SystemTitleHash flag is set to value 0x03, it will immediately return that no sysupdate is required. Otherwise it will start the GetSystemUpdate SOAP request handling.
 +
 +
The GetSystemUpdate SOAP request contains a titlelist of all NAND system-titles. For GetSystemUpdate response parsing, it compares each SOAP title_entry with the NAND system titlelist. If a SOAP titleID isn't found in the NAND titlelist, this means NAND is missing a new title and hence a sysupdate is required for installing that title. If a NAND title_entry-version is less than the SOAP title_entry-version, this means the title needs updated and hence a sysupdate is required.
 +
 +
An empty title-list in the GetSystemUpdate response would result in it returning that no sysupdate is required.
 +
 +
=NIM [[System_SaveData]]=
 +
==hash.dat==
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x60
 +
| 0x1
 +
| u8 flag used with the SystemTitleHash.
 +
|-
 +
| 0x61
 +
| 0x21
 +
| ASCII hex SystemTitleHash. This is the latest SystemTitleHash which NIM module received from SOAP.
 +
|}