SSL Services

Revision as of 05:40, 9 December 2015 by Yellows8 (talk | contribs)

SSL service "ssl:C"

Command Header Available since system-version Description
0x00010002 (<value-0x20 kernel PID header>) Initialize
0x000200C2 CreateContext
0x00030000 CreateRootCertChain
0x00040040 DestroyRootCertChain
0x00050082 AddTrustedRootCA
0x00060080 (u32 rootcertchain_contexthandle, u8 val) Writes an output u32 to cmdreply[2]. From SKATER with debug-strings used with HTTPC command 0x00250080: "[NupCheck] *Error* SetRootCa(NINTENDO_CA_G3) (Result:0x%08x)\n" "[NupCheck] *Error* SetRootCa(NINTENDO_CLASS2_CA_G3) (Result:0x%08x)\n". val=3 for the former, val=6 for the latter.
0x00070080 (u32 inval, u32 inval2)
0x00080000 This writes an output u32 to cmdreply[2].
0x00090040 (u32 inval)
0x000A0082 (u32 inval, u32 size, ((Size<<4) | 10), inbufptr) Writes an output u32 to cmdreply[2].
0x000B0080 (u32 inval, u8 inval2) Writes an output u32 to cmdreply[2].
0x000C0080 (u32 inval, u32 inval2)
0x000D0084 (u32 size0, u32 size1, ((Size0<<4) | 10), inbufptr0, ((Size1<<4) | 10), inbufptr1) Writes an output u32 to cmdreply[2].
0x000E0040 (u8 inval) Writes an output u32 to cmdreply[2].
0x000F0040 (u32 inval)
0x00100000 ?
0x00110042 GenerateRandomData
0x00120042 (u32 inval, <value-0x20 kernel PID header>)
0x00130040 (u32 inval)
0x00140040 (u32 inval) Writes two u32s to cmdreply[2] and cmdreply[3].
0x00150082 Read
0x00160082 (u32 inval, u32 size, ((Size<<4) | 12), outbufptr) Writes an output u32 to cmdreply[2].
0x00170082 Write
0x00180080 ContextSetRootCertChain
0x00190080 (u32 inval, u32 inval2)
0x001A0080 (u32 inval, u32 inval2)
0x001B0080 (u32 inval, u32 inval2)
0x001C00C4 (u32 inval, u32 size0, u32 size1, ((Size0<<4) | 12), outbufptr0, ((Size1<<4) | 12), outbufptr1)
0x001D0040 (u32 inval) Writes an output u32 to cmdreply[2].
0x001E0040 (u32 inval)
0x001F0082 (u32 inval, u32 inval2, <value-0x0 handle-transfer header>, handle)
0x00200082 (u32 inval, u32 size, ((Size<<4) | 10), inbufptr)

Going by strings in the SSL sysmodule it appears the sysmodule uses RSA BSAFE(like certain other 3DS software), this is also likely where the "ssl:C" name comes from(RSA BSAFE "SSL-C").