/[rdesktop]/sourceforge.net/trunk/rdesktop/licence.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sourceforge.net/trunk/rdesktop/licence.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 698 by jsorg71, Mon Jul 28 21:41:12 2003 UTC revision 699 by matthewc, Sun May 16 11:18:20 2004 UTC
# Line 36  BOOL g_licence_issued = False; Line 36  BOOL g_licence_issued = False;
36    
37  /* Generate a session key and RC4 keys, given client and server randoms */  /* Generate a session key and RC4 keys, given client and server randoms */
38  static void  static void
39  licence_generate_keys(uint8 * client_key, uint8 * server_key, uint8 * client_rsa)  licence_generate_keys(uint8 * client_random, uint8 * server_random, uint8 * pre_master_secret)
40  {  {
41          uint8 session_key[48];          uint8 master_secret[48];
42          uint8 temp_hash[48];          uint8 key_block[48];
43    
44          /* Generate session key - two rounds of sec_hash_48 */          /* Generate master secret and then key material */
45          sec_hash_48(temp_hash, client_rsa, client_key, server_key, 65);          sec_hash_48(master_secret, pre_master_secret, client_random, server_random, 'A');
46          sec_hash_48(session_key, temp_hash, server_key, client_key, 65);          sec_hash_48(key_block,     master_secret,     server_random, client_random, 'A');
47    
48          /* Store first 16 bytes of session key, for generating signatures */          /* Store first 16 bytes of session key as MAC secret */
49          memcpy(g_licence_sign_key, session_key, 16);          memcpy(g_licence_sign_key, key_block, 16);
50    
51          /* Generate RC4 key */          /* Generate RC4 key from next 16 bytes */
52          sec_hash_16(g_licence_key, &session_key[16], client_key, server_key);          sec_hash_16(g_licence_key, &key_block[16], client_random, server_random);
53  }  }
54    
55  static void  static void

Legend:
Removed from v.698  
changed lines
  Added in v.699

  ViewVC Help
Powered by ViewVC 1.1.26