Changes

1,058 bytes added ,  23:40, 15 December 2019
no edit summary
Line 250: Line 250:     
== GetEciDeviceCertificate ==
 
== GetEciDeviceCertificate ==
Takes a type-0x16 output buffer with fixed size 0x180.
+
Takes a type-0x16 output buffer containing a [[#EccB233DeviceCertificate]].
    
Returns the device certificate (ECC signed). This is identical to 3DS DeviceCert/CTCert besides the strings. NIM loads the DeviceId from this.
 
Returns the device certificate (ECC signed). This is identical to 3DS DeviceCert/CTCert besides the strings. NIM loads the DeviceId from this.
    
== GetEticketDeviceCertificate ==
 
== GetEticketDeviceCertificate ==
Takes a type-0x16 output buffer with fixed size 0x240.
+
Takes a type-0x16 output buffer containing a [[#Rsa2048DeviceCertificate]].
    
Returns the ETicket certificate (RSA signed).
 
Returns the ETicket certificate (RSA signed).
    
== GetSslKey ==
 
== GetSslKey ==
Takes a type-0x16 output buffer with fixed size 0x134.
+
Takes a type-0x16 output buffer containing a [[#SslKey]].
    
Returns the extended SSL key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal SSL key (0x110 bytes).
 
Returns the extended SSL key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal SSL key (0x110 bytes).
Line 267: Line 267:     
== GetSslCertificate ==
 
== GetSslCertificate ==
Takes a type-0x16 output buffer with fixed size 0x804.
+
Takes a type-0x16 output buffer containing a [[#SslCertificate]].
 
  −
Returns a [[Settings_services#setcal_Container_Structure|container]] with the plaintext SSL certificate.
      
Used by SSL-sysmodule, see [[SSL_services|here]].
 
Used by SSL-sysmodule, see [[SSL_services|here]].
    
== GetGameCardKey ==
 
== GetGameCardKey ==
Takes a type-0x16 output buffer with fixed size 0x134.
+
Takes a type-0x16 output buffer containing a [[#GameCardKey]].
    
Returns the extended GameCard key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal GameCard key (0x110 bytes).
 
Returns the extended GameCard key (0x130 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal GameCard key (0x110 bytes).
    
== GetGameCardCertificate ==
 
== GetGameCardCertificate ==
Takes a type-0x16 output buffer with fixed size 0x404.
+
Takes a type-0x16 output buffer containing a [[#GameCardCertificate]].
   −
Returns a [[Settings_services#setcal_Container_Structure|container]] with the GameCard certificate.
+
== GetEciDeviceKey ==
 +
No input, returns an [[#EccB233DeviceKey]].
   −
== GetEciDeviceKey ==
   
Returns the extended device ECC-B233 key (0x50 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal device ECC-B233 key (0x30 bytes).
 
Returns the extended device ECC-B233 key (0x50 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal device ECC-B233 key (0x30 bytes).
  −
[5.0.0+] Now returns an additional 4-bytes.
      
== GetEticketDeviceKey ==
 
== GetEticketDeviceKey ==
Takes a type-0x16 output buffer with fixed size 0x244.
+
Takes a type-0x16 output buffer containing a [[#Rsa2048DeviceKey]].
    
Returns the extended ETicket RSA-2048 key (0x240 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal ETicket RSA-2048 key (0x220 bytes).
 
Returns the extended ETicket RSA-2048 key (0x240 bytes) from [[Calibration#CAL0|CAL0]]. If the extended key is not programmed then it falls back to the normal ETicket RSA-2048 key (0x220 bytes).
    
== GetEciDeviceCertificate2 ==
 
== GetEciDeviceCertificate2 ==
Same as [[#GetEciDeviceCertificate]], but returns a RSA-2048 variant of the device certificate.
+
Same as [[#GetEciDeviceCertificate]], but [[#Rsa2048DeviceCertificate|returns]] a RSA-2048 variant of the device certificate.
    
== GetEciDeviceKey2 ==
 
== GetEciDeviceKey2 ==
Same as [[#GetEciDeviceKey]], but 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 ==
 
== setcal Container Structure ==
Line 316: Line 312:     
This container is used for returning data with variable sizes.
 
This container is used for returning data with variable sizes.
 +
 +
== EccB233DeviceCertificate ==
 +
This is "nn::settings::factory::EccB233DeviceCertificate". This struct size is 0x180-bytes.
 +
 +
== Rsa2048DeviceCertificate ==
 +
This is "nn::settings::factory::Rsa2048DeviceCertificate". This struct size is 0x240-bytes.
 +
 +
== SslKey ==
 +
This is "nn::settings::factory::SslKey". This struct size is 0x138-bytes.
 +
 +
== SslCertificate ==
 +
This is "nn::settings::factory::SslCertificate". This struct size is 0x804-bytes.
 +
 +
This uses a [[Settings_services#setcal_Container_Structure|container]] which contains the plaintext SSL certificate.
 +
 +
== GameCardKey ==
 +
This is "nn::settings::factory::GameCardKey". This struct size is 0x138-bytes.
 +
 +
== GameCardCertificate ==
 +
This is "nn::settings::factory::GameCardCertificate". This struct size is 0x400-bytes.
 +
 +
This uses a [[Settings_services#setcal_Container_Structure|container]] which contains the GameCard certificate.
 +
 +
== EccB233DeviceKey ==
 +
This is "nn::settings::factory::EccB233DeviceKey". This struct size is 0x54-bytes ([5.0.0+] 0x58-bytes).
 +
 +
== Rsa2048DeviceKey ==
 +
This is "nn::settings::factory::Rsa2048DeviceKey". This struct size is 0x248-bytes.
    
= set:sys =
 
= set:sys =