BOOL license_read_license_request_packet(rdpLicense* license, STREAM* s) { /* ServerRandom (32 bytes) */ if(stream_get_left(s) < 32) return FALSE; stream_read(s, license->server_random, 32); /* ProductInfo */ if (!license_read_product_info(s, license->product_info)) return FALSE; /* KeyExchangeList */ if (!license_read_binary_blob(s, license->key_exchange_list)) return FALSE; /* ServerCertificate */ if (!license_read_binary_blob(s, license->server_certificate)) return FALSE; /* ScopeList */ if (!license_read_scope_list(s, license->scope_list)) return FALSE; /* Parse Server Certificate */ if (!certificate_read_server_certificate(license->certificate, license->server_certificate->data, license->server_certificate->length)) return FALSE; license_generate_keys(license); license_generate_hwid(license); license_encrypt_premaster_secret(license); return TRUE; }
void license_read_license_request_packet(rdpLicense* license, STREAM* s) { /* ServerRandom (32 bytes) */ stream_read(s, license->server_random, 32); /* ProductInfo */ license_read_product_info(s, license->product_info); /* KeyExchangeList */ license_read_binary_blob(s, license->key_exchange_list); /* ServerCertificate */ license_read_binary_blob(s, license->server_certificate); /* ScopeList */ license_read_scope_list(s, license->scope_list); /* Parse Server Certificate */ certificate_read_server_certificate(license->certificate, license->server_certificate->data, license->server_certificate->length); license_generate_keys(license); license_generate_hwid(license); license_encrypt_premaster_secret(license); }
BOOL license_read_license_request_packet(rdpLicense* license, wStream* s) { /* ServerRandom (32 bytes) */ if (Stream_GetRemainingLength(s) < 32) return FALSE; Stream_Read(s, license->ServerRandom, 32); /* ProductInfo */ if (!license_read_product_info(s, license->ProductInfo)) return FALSE; /* KeyExchangeList */ if (!license_read_binary_blob(s, license->KeyExchangeList)) return FALSE; /* ServerCertificate */ if (!license_read_binary_blob(s, license->ServerCertificate)) return FALSE; /* ScopeList */ if (!license_read_scope_list(s, license->ScopeList)) return FALSE; /* Parse Server Certificate */ if (!certificate_read_server_certificate(license->certificate, license->ServerCertificate->data, license->ServerCertificate->length)) return FALSE; license_generate_keys(license); license_generate_hwid(license); license_encrypt_premaster_secret(license); #ifdef WITH_DEBUG_LICENSE fprintf(stderr, "ServerRandom:\n"); winpr_HexDump(license->ServerRandom, 32); fprintf(stderr, "\n"); license_print_product_info(license->ProductInfo); fprintf(stderr, "\n"); license_print_scope_list(license->ScopeList); fprintf(stderr, "\n"); #endif return TRUE; }