PSN Handshake Signup

From PS3 Developer wiki
Revision as of 11:43, 23 May 2011 by Dospiedra (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

this page needs cleanup and proper formatting


Signup Response

Basic structure of the response

  0x00:  4 Byte - main header -> 30 00 00 4f 
  0x04:  4 Byte - size		   -> 00 5e 00 47
  0x08:  8 Byte - ? Identifier, often found before Name/Handle
  0x10: 16 Byte - Name/Handle
  0x20: 16 Byte - language
  0x26:  6 Byte - np:  00 01 00 00 00 sp-int: 00 01 00 00 00 23 
  0x2a:  4 Byte - {10 5d 00 0b} 0x000b - size of email
  0x2e:  x Byte - email, here 0b in size

Legend

Main Header xx xx xx ss ss = size

Positive Auth

Auth Reply Structure

  0x00:  4 Byte - main header -> 31 00 00 00 
  0x04:  4 Byte - size        -> 00 00 00 d4 
  0x08:  4 Byte - frame head  -> 30 00 00 ac 
  0x0c:  4 Byte - {00 08 00 14}
  0x10: 20 Byte - SIGNATURE -> maybe HMAC/SHA1
  0x24:  4 Byte - {00 01 00 04}
  0x28:  4 Byte - ? 00 00 00 01 (cfr) or 00 00 01 00 (me & nks) (???)
  0x2c:  4 Byte - {00 07 00 08}
  0x30:  8 Byte - Timestamp (Login Time)
  0x38:  4 Byte - {00 07 00 08}
  0x3c:  8 Byte - Timestamp (Login Expiry)  
  0x44:  4 Byte - {00 02 00 08} 
  0x48:  8 Byte - Identifier *
  0x50:  4 Byte - {00 04 00 20}
  0x54: 32 Byte - Name/Handle 
  0x74:  4 Byte - {00 08 00 04}
  0x78:  4 Byte - language
  0x7c:  4 Byte - {00 04 00 04}
  0x80:  4 Byte - ??? 		
  0x84:  4 Byte - {00 08 00 18}
  0x88: 24 Byte - service ID 
  0xa0:  4 Byte - {30 11 00 04}
  0xa4:  4 Byte - ??? 		07 and 3 undef
  0xa8:  4 Byte - {00 01 00 04}
  0xac:  4 Byte - ??? 		2 undef and 02 00
  0xb0:  8 Byte - 30 10 00 00 00 00 00 00 
  0xb8:  4 Byte - frame head -> 30 02 00 20 
  0xbc:  4 Byte - {00 08 00 04}
  0xc0:  4 Byte - Network: NP: 34 CD 3C A9 SP/QA: B8 2F CB 09
  0xc4:  4 Byte - {00 08 00 14}
  0xc8: 20 Byte - SIGNATURE -> maybe HMAC/SHA1
  • often found before Name/Handle, assigned at signup and store at first 8 byte of cache
  • * seems to be the same for the same for every console, differs for others

Size xx xx xx ss ss = message size

Frame Head [xx yy ss ss] xx = 30 yy = unknown. maybe frame number ss = framesize in hex

Limiter {xx xx ss ss} xx = unknown ss = data size in hex

Timestamps These are Timestamp:

X = 00 00 01 2f 31 ff a0 58h -> 1302213927000d The X / 1000 = seconds since 1970, so this date is 08.04.2011

PHP to easy recheck:

$timestamp = 1302010662000 / 1000;
date("d.m.Y",$timestamp);

It's just Miliseconds.


on finalize auth ps3 request profile settings is xml based process

request profile with auth encrypted to base64 and sends to a server with this :

Headers: POST /basic_view/sec/get_self_profile HTTP/1.1 Connection Keep-Alive Content-Length 430 Accept-Encoding identity User-Agent PS3Community-agent/1.0.0 libhttp/1.0.0 Host Url:443


Contents: <profile platform="ps3" sv="[VERSION"> <ticket>MQAAAAAAANQwAACsAAgAFJqeezSrKo6St53LChESIjtSY5rTAAEABAAAAAEABwAIAAABMAICu2sABwAIAAABLlUtF/AAAgAIC3QjMt2rDY4ABAAgZW11bGFjaW9uMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAEZXMAAwAEAARhMAAAAAgAGElWMDAwMS1OUFhTMDEwMDFfMDAAAAAAADARAAQHxAgJAAEABBYAAgAwEAAAAAAAADACACAACAAEuC/LCQAIABRcn59AJbIHKB8u3RSCRv7D9wU+gQ==</ticket> <env>np</env> <avatar size="l" /> </profile>

and get profile responses here :

Headers: HTTP/1.1 200 OK Date Wed, 18 May 2011 08:12:42 GMT Server Apache-Coyote/1.1 Content-Type text/xml;charset=UTF-8 Content-Length 364

Content: <profile result="00"> <jid>[USERNAME]@[SERVER].[COUNTRY].[ENVIROMENT].URL</jid> <onlinename upd="0">[Nickname on psn]</onlinename> <country>[Country code]</country> <language1>3</language1> <language2 /> <language3 /> <aboutme /> <avatarurl id="1000">[png image url to set avatar display]</avatarurl> <ptlp>0</ptlp> </profile>

  • Get profile need's other certicate to auth ssl connection in this case Dnas root 05