Changes

Jump to navigation Jump to search
3,135 bytes added ,  19:19, 18 December 2019
Add key generation info (from shchmue)
Line 295: Line 295:  
Same as [[#GetEciDeviceKey]], but [[#Rsa2048DeviceKey|returns]] a RSA-2048 variant of the device key.
 
Same as [[#GetEciDeviceKey]], but [[#Rsa2048DeviceKey|returns]] a RSA-2048 variant of the device key.
   −
== setcal Container Structure ==
+
== AccelerometerOffset ==
 +
This is "nn::settings::factory::AccelerometerOffset". It's size is 0x06 bytes.
 +
 
 +
== AccelerometerScale ==
 +
This is "nn::settings::factory::AccelerometerScale". It's size is 0x06 bytes.
 +
 
 +
== AmiiboEcdsaCertificate ==
 +
This is "nn::settings::factory::AmiiboEcdsaCertificate". It's size is 0x70 bytes.
 +
 
 +
== AmiiboEcqvBlsCertificate ==
 +
This is "nn::settings::factory::AmiiboEcqvBlsCertificate". It's size is 0x20 bytes.
 +
 
 +
== AmiiboEcqvBlsKey ==
 +
This is "nn::settings::factory::AmiiboEcqvBlsKey". It's size is 0x40 bytes.
 +
 
 +
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 303: Line 318:  
|-
 
|-
 
| 0x0
 
| 0x0
 +
| 0x40
 +
| Key
 +
|-
 +
| 0x44
 
| 0x4
 
| 0x4
| Size (same size used for decryption if needed)
+
| Key generation
 +
|}
 +
 
 +
== AmiiboEcqvBlsRootCertificate ==
 +
This is "nn::settings::factory::AmiiboEcqvBlsRootCertificate". It's size is 0x90 bytes.
 +
 
 +
== AmiiboEcqvCertificate ==
 +
This is "nn::settings::factory::AmiiboEcqvCertificate". It's size is 0x14 bytes.
 +
 
 +
== AmiiboKey ==
 +
This is "nn::settings::factory::AmiiboKey". It's size is 0x50 bytes.
 +
 
 +
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Name
 +
|-
 +
| 0x0
 +
| 0x50
 +
| Key
 +
|-
 +
| 0x50
 +
| 0x4
 +
| Key generation
 +
|}
 +
 
 +
== AnalogStickFactoryCalibration ==
 +
This is "nn::settings::factory::AnalogStickFactoryCalibration". It's size is 0x09 bytes.
 +
 
 +
== AnalogStickModelParameter ==
 +
This is "nn::settings::factory::AnalogStickModelParameter". It's size is 0x12 bytes.
 +
 
 +
== BatteryLot ==
 +
This is "nn::settings::BatteryLot". It's size is 0x18 bytes.
 +
 
 +
== BdAddress ==
 +
This is "nn::settings::factory::BdAddress". It's size is 0x06 bytes.
 +
 
 +
== ConfigurationId1 ==
 +
This is "nn::settings::factory::ConfigurationId1". It's size is 0x1E bytes.
 +
 
 +
== ConsoleSixAxisSensorHorizontalOffset ==
 +
This is "nn::settings::factory::ConsoleSixAxisSensorHorizontalOffset". It's size is 0x06 bytes.
 +
 
 +
== CountryCode ==
 +
This is "nn::settings::factory::CountryCode". It's size is 0x04 bytes.
 +
 
 +
== EccB233DeviceCertificate ==
 +
This is "nn::settings::factory::EccB233DeviceCertificate". It's size is 0x180 bytes.
 +
 
 +
== EccB233DeviceKey ==
 +
This is "nn::settings::factory::EccB233DeviceKey". It's size is 0x30 bytes or 0x54 bytes in the extended version.
 +
 
 +
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Name
 +
|-
 +
| 0x0
 +
| 0x54
 +
| Key
 +
|-
 +
| 0x54
 +
| 0x4
 +
| Key generation
 +
|}
 +
 
 +
== GameCardCertificate ==
 +
This is "nn::settings::factory::GameCardCertificate". It's maximum size is 0x404 bytes.
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Name
 +
|-
 +
| 0x0
 +
| 0x4
 +
| GameCard certificate size
 
|-
 
|-
 
| 0x4
 
| 0x4
 
| {above size}
 
| {above size}
| Actual data starts here.
+
| GameCard certificate data
 
|}
 
|}
   −
This container is used for returning data with variable sizes.
+
== GameCardKey ==
 +
This is "nn::settings::factory::GameCardKey". It's size is 0x110 bytes or 0x130 bytes in the extended version.
   −
== EccB233DeviceCertificate ==
+
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
This is "nn::settings::factory::EccB233DeviceCertificate". This struct size is 0x180-bytes.
+
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Name
 +
|-
 +
| 0x0
 +
| 0x130
 +
| Key
 +
|-
 +
| 0x130
 +
| 0x4
 +
| Key generation
 +
|}
 +
 
 +
== GyroscopeOffset ==
 +
This is "nn::settings::factory::GyroscopeOffset". It's size is 0x06 bytes.
 +
 
 +
== GyroscopeScale ==
 +
This is "nn::settings::factory::GyroscopeScale". It's size is 0x06 bytes.
 +
 
 +
== MacAddress ==
 +
This is "nn::settings::factory::MacAddress". It's size is 0x06 bytes.
    
== Rsa2048DeviceCertificate ==
 
== Rsa2048DeviceCertificate ==
This is "nn::settings::factory::Rsa2048DeviceCertificate". This struct size is 0x240-bytes.
+
This is "nn::settings::factory::Rsa2048DeviceCertificate". It's size is 0x240 bytes.
   −
== SslKey ==
+
== Rsa2048DeviceKey ==
This is "nn::settings::factory::SslKey". This struct size is 0x138-bytes.
+
This is "nn::settings::factory::Rsa2048DeviceKey". It's size is 0x220 bytes or 0x240 bytes in the extended version.
   −
== SslCertificate ==
+
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
This is "nn::settings::factory::SslCertificate". This struct size is 0x804-bytes.
+
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Name
 +
|-
 +
| 0x0
 +
| 0x240
 +
| Key
 +
|-
 +
| 0x240
 +
| 0x4
 +
| Key generation
 +
|}
   −
This uses a [[Settings_services#setcal_Container_Structure|container]] which contains the plaintext SSL certificate.
+
== SerialNumber ==
 +
This is "nn::settings::factory::SerialNumber". It's size is 0x18 bytes.
   −
== GameCardKey ==
+
== SpeakerParameter ==
This is "nn::settings::factory::GameCardKey". This struct size is 0x138-bytes.
+
This is "nn::settings::factory::SpeakerParameter". It's size is 0x5A bytes.
   −
== GameCardCertificate ==
+
== SslCertificate ==
This is "nn::settings::factory::GameCardCertificate". This struct size is 0x400-bytes.
+
This is "nn::settings::factory::SslCertificate". It's maximum size is 0x804 bytes.
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Name
 +
|-
 +
| 0x0
 +
| 0x4
 +
| SSL certificate size
 +
|-
 +
| 0x4
 +
| {above size}
 +
| SSL certificate data
 +
|}
   −
This uses a [[Settings_services#setcal_Container_Structure|container]] which contains the GameCard certificate.
+
== SslKey ==
 +
This is "nn::settings::factory::SslKey". It's size is 0x110 bytes or 0x130 bytes in the extended version.
   −
== EccB233DeviceKey ==
+
If [[Calibration#CAL0|Calibration Version]] >= 9, this is now:
This is "nn::settings::factory::EccB233DeviceKey". This struct size is 0x54-bytes ([5.0.0+] 0x58-bytes).
+
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Name
 +
|-
 +
| 0x0
 +
| 0x130
 +
| Key
 +
|-
 +
| 0x130
 +
| 0x4
 +
| Key generation
 +
|}
   −
== Rsa2048DeviceKey ==
+
== RegionCode ==
This is "nn::settings::factory::Rsa2048DeviceKey". This struct size is 0x248-bytes.
+
This is "nn::settings::factory::RegionCode". It's size is 0x04 bytes.
    
= set:sys =
 
= set:sys =

Navigation menu