If we are server, our encryption key is client's decryption key and vice-versa.

This commit is contained in:
Pawel Jakub Dawidek 2012-01-15 20:52:27 +01:00
parent a778ef2a8c
commit 6a7fe3e520

View File

@ -347,8 +347,17 @@ boolean security_establish_keys(uint8* client_random, rdpRdp* rdp)
memcpy(rdp->sign_key, session_key_blob, 16);
security_md5_16_32_32(&session_key_blob[16], client_random, server_random, rdp->decrypt_key);
security_md5_16_32_32(&session_key_blob[32], client_random, server_random, rdp->encrypt_key);
if (rdp->settings->server_mode) {
security_md5_16_32_32(&session_key_blob[16], client_random,
server_random, rdp->encrypt_key);
security_md5_16_32_32(&session_key_blob[32], client_random,
server_random, rdp->decrypt_key);
} else {
security_md5_16_32_32(&session_key_blob[16], client_random,
server_random, rdp->decrypt_key);
security_md5_16_32_32(&session_key_blob[32], client_random,
server_random, rdp->encrypt_key);
}
if (settings->encryption_method == 1) /* 40 and 56 bit */
{