X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=blobdiff_plain;f=secure.c;fp=secure.c;h=7c90ee262538055b270f697b0c4d33008b473a64;hp=10fc91692fdb72684f7526c242bfa009d9c9edcd;hb=a521f01158c829ca8f5ce87f81b85f9aa50db4dd;hpb=ad9d9c18b879147f8cb7756c2372398eec918707 diff --git a/secure.c b/secure.c index 10fc916..7c90ee2 100644 --- a/secure.c +++ b/secure.c @@ -752,6 +752,8 @@ sec_recv(void) if (sec_flags & SEC_CLIENT_RANDOM) { uint32 length; + uint8 inr[SEC_MODULUS_SIZE]; + int i; printf("Receiving the client random!\n"); in_uint32_le(s, length); @@ -763,6 +765,18 @@ sec_recv(void) if (!s_check_end(s)) { error("Junk after client random\n"); } + + reverse(sec_crypted_random, SEC_MODULUS_SIZE); + + RSA_private_decrypt(SEC_MODULUS_SIZE, sec_crypted_random, inr, privkey, RSA_NO_PADDING); + + reverse(inr + SEC_RANDOM_SIZE, SEC_RANDOM_SIZE); + + printf("Unencrypted client random: "); + for (i = 0; i < SEC_RANDOM_SIZE; ++i) { + printf("0x%x ", inr[i + SEC_RANDOM_SIZE]); + } + printf("\n"); } }