Difference between revisions of "ACT Services"

From 3dbrew
Jump to navigation Jump to search
Line 28: Line 28:
  
 
=HTTPS Requests=
 
=HTTPS Requests=
 +
 +
With each request, ACT-sysmodule specifies request-header "X-Nintendo-Device-Model". The value is from a string initialized during ACT-sysmodule startup. The value-string is the [[Cfg:GetSystemModel|codename]] string for all 5 of the model values from [[Cfg:GetSystemModel]]. When the output from GetSystemModel is >=5(switch statement default case), it runs this: "len = snprintf(outstr, outmaxsize, "3DS-%u", model);"
  
 
==Trusted Root CAs==
 
==Trusted Root CAs==
Line 33: Line 35:
  
 
=New3DS=
 
=New3DS=
Even though ACT-sysmodule uses [[PTM_Services|ptm:s]], it doesn't use CheckNew3DS at all. It's unknown how this sysmodule determines whether to use "CTR"/"KTR" for a request-header value for HTTPS requests.
+
Even though ACT-sysmodule uses [[PTM_Services|ptm:s]], it doesn't use CheckNew3DS at all.

Revision as of 21:14, 23 March 2016


The ACT module handles NNID accounts.

ACT service "act:a"

ACT service "act:u"

Command Header Available since system-version Description
0x00010084 Initialize? cmd[1] = u32 ctrsdkversion_probably, cmd[2] = unknown, cmd[3] = 0x20(kernel PID header), cmd[4] = PID value written by kernel, cmd[5] = 0x0(handle-transfer header for kernel), cmd[6] = handle value.
0x00020040 Unknown
0x000600C2 GetAccountDataBlock

This is the service used by regular applications.

HTTPS Requests

With each request, ACT-sysmodule specifies request-header "X-Nintendo-Device-Model". The value is from a string initialized during ACT-sysmodule startup. The value-string is the codename string for all 5 of the model values from Cfg:GetSystemModel. When the output from GetSystemModel is >=5(switch statement default case), it runs this: "len = snprintf(outstr, outmaxsize, "3DS-%u", model);"

Trusted Root CAs

ACT module uses a RootCertChain for all HTTPS requests, the only trusted root CA is default CertID 0x3.

New3DS

Even though ACT-sysmodule uses ptm:s, it doesn't use CheckNew3DS at all.