Line 48: |
Line 48: |
| | 12 || GetBatteryLot | | | 12 || GetBatteryLot |
| |- | | |- |
− | | 14 || GetDeviceCertECC | + | | 14 || [[#GetDeviceCert]] |
| |- | | |- |
− | | 15 || GetETicketCertRSA | + | | 15 || [[#GetETicketCert]] |
| |- | | |- |
− | | 16 || GetSslKey | + | | 16 || [[#GetSslKey]] |
| |- | | |- |
− | | 17 || GetSslCert | + | | 17 || [[#GetSslCert]] |
| |- | | |- |
− | | 18 || GetGamecardKey | + | | 18 || [[#GetGameCardKey]] |
| |- | | |- |
− | | 19 || GetGamecardCert | + | | 19 || [[#GetGameCardCert]] |
| |- | | |- |
− | | 20 || GetDeviceKeyECC | + | | 20 || [[#GetDeviceKey]] |
| |- | | |- |
− | | 21 || GetETicketKeyRSA | + | | 21 || [[#GetETicketKey]] |
| |- | | |- |
| | 22 || GetSpeakerCalibrationValues | | | 22 || GetSpeakerCalibrationValues |
Line 70: |
Line 70: |
| Used for accessing data calibrated at the factory. | | Used for accessing data calibrated at the factory. |
| | | |
− | == GetDeviceCertECC == | + | == GetDeviceCert == |
| Takes a type-0x16 output buffer with fixed size 0x180. | | Takes a type-0x16 output buffer with fixed size 0x180. |
| | | |
− | Returns the DeviceCert. 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. |
| | | |
− | == GetETicketCertRSA == | + | == GetETicketCert == |
| Takes a type-0x16 output buffer with fixed size 0x240. | | Takes a type-0x16 output buffer with fixed size 0x240. |
| | | |
− | Same as GetDeviceCertECC, except this returns more data and the data starts differing at offset 0x108 compared to GetDeviceCert.
| + | Returns the ETicket certificate (RSA signed). |
| | | |
| == GetSslKey == | | == GetSslKey == |
| Takes a type-0x16 output buffer with fixed size 0x134. | | Takes a type-0x16 output buffer with fixed size 0x134. |
| | | |
− | Returns a container-structure for the encrypted TLS client-privk. Decrypting this fails unless an unknown size >0x134 is passed to this setcal cmd? | + | 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). |
| | | |
| Used by SSL-sysmodule, see [[SSL_services|here]]. | | Used by SSL-sysmodule, see [[SSL_services|here]]. |
Line 90: |
Line 90: |
| Takes a type-0x16 output buffer with fixed size 0x804. | | Takes a type-0x16 output buffer with fixed size 0x804. |
| | | |
− | Returns a container-structure for the plaintext TLS client-cert. | + | 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]]. |
| | | |
− | === setcal Container Structure === | + | == GetGameCardKey == |
| + | Takes a type-0x16 output buffer with fixed size 0x134. |
| + | |
| + | 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). |
| + | |
| + | == GetGameCardCert == |
| + | Takes a type-0x16 output buffer with fixed size 0x404. |
| + | |
| + | Returns a [[Settings_services#setcal_Container_Structure|container]] with the GameCard certificate. |
| + | |
| + | == GetDeviceKey == |
| + | 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). |
| + | |
| + | == GetETicketKey == |
| + | Takes a type-0x16 output buffer with fixed size 0x244. |
| + | |
| + | 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). |
| + | |
| + | == setcal Container Structure == |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 109: |
Line 127: |
| | Actual data starts here. | | | Actual data starts here. |
| |} | | |} |
| + | |
| + | This container is used for returning data with variable sizes. |
| | | |
| = set:sys = | | = set:sys = |
Line 115: |
Line 135: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 3 || GetSystemVersion | + | | 3 || [[#GetSystemVersion]] |
| |- | | |- |
| | 37 || QuerySetting | | | 37 || QuerySetting |
| |- | | |- |
− | | 38 || ReadSetting | + | | 38 || [[#ReadSetting]] |
| |- | | |- |
| | 56 || [[Flash_Filesystem#PRODINFOF|GetWirelessCertification]] | | | 56 || [[Flash_Filesystem#PRODINFOF|GetWirelessCertification]] |
| |- | | |- |
− | | 62 || GetDebugMode | + | | 62 || [[#GetDebugMode]] |
| |- | | |- |
− | | 68 || GetSerialNumber | + | | 68 || [[#GetSerialNumber]] |
| |} | | |} |
| | | |