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 */
{