tags:

views:

9

answers:

0

Hi everyone, I'm now working on a project, a third party msn application. I got a problem when I try to get the Client Ticket. the "Authentication-Info"'s from-PP property I got from login server like this:

from-PP='t=EwDgAfsBAAAUW9%2b7Miyt3HjZIRD38NPpViMVcoOAADl%2b5PaGGTOB4kguRug7hklPTVulhYE1beABaOhK6apJCgqGXiTqPFYlPJW3lbmJRdnm6USRu70uAXxLV2/5PpeLY0xBUSzPMDyIM0WyIqRkMYA5lDTU%2bIeBeo7AYoIuOvRnWD0saasURQ%2b4isUJGDP2yuUaOVxTfCpv52H15rNCA2YAAAglIETLQxAUrDABOvDqdG9y/b1Y6bCUlqSu6jWXGHbwb57J2fzziQr5SpBHO%2bG4hDEIUr24VxFJUtyB8oSyPevbiC5952vUcMRsn7xG8k/JCKF9PyO8i7DGz0myf1HO3Y7Ip2%2bleJgzHQs7L%2bWeRI1mjjIC4od0CePfM07ycXpyTVVnPfZCcXeU/ebrSCMkCznrNJtROoTkY2DDd9Zwf7otkNIf5N0mPpEDslt0gioQ9yB1kDEsVUFU6IrCcZgrthwGFXnsSaYIOigaxBO9QLwRIQr/LHldS7%2b77OBxF%2bp2Aq7QN9ywbTtIaVMr0vb3/QXBO2HN4XnePFOPJfL5oH%2bnNWtjhl97xJwgNHqSRdz1v01Nageo0uXfqepNEPsC4nJ2x0rR4WOLDUM3PT0gpUzCoAREAcv4Z7g8nVcB&p='

It miss the p value. Who can give me some clue. Thanks in advance. I send these command:

send: VER 1 MSNP11 CVR0
get: VER 1 MSNP11
send: CVR 2 0x0409 winnt 5.1 i386 MSNMSGR 8.5.1302 MSMSGS [email protected]
get: CVR 2 14.0.8117 14.0.8117 14.0.8117 http://msgruser.dlservice.microsoft.com/download/A/6/1/A616CCD4-B0CA-4A3D-B975-3EDB38081B38/en/wlsetup-cvr.exe http://download.live.com/?sku=messenger
send: USR 3 TWN I [email protected]
get: XFR 3 NS 207.46.124.212:1863 0 64.4.9.254:1863

send: VER 4 MSNP11 CVR0
get: VER 4 MSNP11
send: CVR 5 0x0409 winnt 5.1 i386 MSNMSGR 8.5.1302 MSMSGS [email protected]
get: CVR 5 14.0.8117 14.0.8117 14.0.8117 http://msgruser.dlservice.microsoft.com/download/A/6/1/A616CCD4-B0CA-4A3D-B975-3EDB38081B38/en/wlsetup-cvr.exe http://download.live.com/?sku=messenger
send: USR 6 TWN I [email protected]
get: USR 6 TWN S ct=1282557544,rver=5.5.4182.0,wp=FS_40SEC_0_COMPACT,lc=1033,id=507,ru=http:%2F%2Fmessenger.msn.com,tw=0,kpp=1,kv=4,ver=2.1.6000.1,rn=1lgjBfIL,tpf=b0735e3a873dfb5e75054465196398e0

Login server got from https://nexus.passport.com/rdr/pprdr.asp is login.live.com/login2.srf

And I retrive the from-PP string like this:

 NSString *bLoginHost = [self GetLoginHost];

 NSString *bURL = [NSString stringWithFormat:@"https://%@", bLoginHost];
 NSMutableURLRequest *bRequest =
 [[NSMutableURLRequest alloc] initWithURL:
  [NSURL URLWithString:bURL]];

 [bRequest setHTTPMethod:@"GET"];


 NSArray *bArray1 = [bLoginHost componentsSeparatedByString:@"/"];
 NSString *bHost = [bArray1 objectAtIndex:0];
 [bRequest setValue:bHost forHTTPHeaderField:@"Host"];

 NSString *a = @"Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,";
 a = [a stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
 NSString *b = [NSString stringWithFormat:@"sign-in=%@,pwd=%@,", super.account, super.password];
 NSString *c = aAuthentication;

 NSString *bValue = [NSString stringWithFormat:@"%@%@%@", a, b, c];

 [bRequest setValue:bValue forHTTPHeaderField:@"Authorization"];

 NSHTTPURLResponse *bResponse = nil;
 [NSURLConnection sendSynchronousRequest:bRequest returningResponse:&bResponse error:nil];