FreeRDP
ntlm_compute.h
1 
20 #ifndef WINPR_SSPI_NTLM_COMPUTE_H
21 #define WINPR_SSPI_NTLM_COMPUTE_H
22 
23 #include "ntlm.h"
24 
25 #include "ntlm_av_pairs.h"
26 
27 BOOL ntlm_get_version_info(NTLM_VERSION_INFO* versionInfo);
28 BOOL ntlm_read_version_info(wStream* s, NTLM_VERSION_INFO* versionInfo);
29 BOOL ntlm_write_version_info(wStream* s, const NTLM_VERSION_INFO* versionInfo);
30 
31 #ifdef WITH_DEBUG_NTLM
32 void ntlm_print_version_info(const NTLM_VERSION_INFO* versionInfo);
33 #endif
34 
35 BOOL ntlm_read_ntlm_v2_response(wStream* s, NTLMv2_RESPONSE* response);
36 BOOL ntlm_write_ntlm_v2_response(wStream* s, const NTLMv2_RESPONSE* response);
37 
38 void ntlm_output_target_name(NTLM_CONTEXT* context);
39 void ntlm_output_channel_bindings(NTLM_CONTEXT* context);
40 
41 void ntlm_current_time(BYTE* timestamp);
42 void ntlm_generate_timestamp(NTLM_CONTEXT* context);
43 
44 SECURITY_STATUS ntlm_compute_lm_v2_response(NTLM_CONTEXT* context);
45 SECURITY_STATUS ntlm_compute_ntlm_v2_response(NTLM_CONTEXT* context);
46 
47 void ntlm_rc4k(BYTE* key, size_t length, BYTE* plaintext, BYTE* ciphertext);
48 void ntlm_generate_client_challenge(NTLM_CONTEXT* context);
49 void ntlm_generate_server_challenge(NTLM_CONTEXT* context);
50 void ntlm_generate_key_exchange_key(NTLM_CONTEXT* context);
51 void ntlm_generate_random_session_key(NTLM_CONTEXT* context);
52 void ntlm_generate_exported_session_key(NTLM_CONTEXT* context);
53 void ntlm_encrypt_random_session_key(NTLM_CONTEXT* context);
54 void ntlm_decrypt_random_session_key(NTLM_CONTEXT* context);
55 
56 BOOL ntlm_generate_client_signing_key(NTLM_CONTEXT* context);
57 BOOL ntlm_generate_server_signing_key(NTLM_CONTEXT* context);
58 BOOL ntlm_generate_client_sealing_key(NTLM_CONTEXT* context);
59 BOOL ntlm_generate_server_sealing_key(NTLM_CONTEXT* context);
60 BOOL ntlm_init_rc4_seal_states(NTLM_CONTEXT* context);
61 
62 BOOL ntlm_compute_message_integrity_check(NTLM_CONTEXT* context, BYTE* mic, UINT32 size);
63 
64 #endif /* WINPR_AUTH_NTLM_COMPUTE_H */