Classes | Public Member Functions | Static Public Member Functions

zeus::TNTLMAuthentication Class Reference

#include <NTLMAuthentication.h>

List of all members.

Classes

struct  TypeSmbNtlmAuthChallenge
struct  TypeSmbNtlmAuthRequest
struct  TypeSmbNtlmAuthResponse
struct  TypeSmbStrHeader

Public Member Functions

 TNTLMAuthentication ()
TString getRequestBase64 () const
TString getRequestBase64 (const TString &rComputerName, const TString &rDomainName) const
TString getResponseBase64 (const TString &rUserName, const TString &rPassword, const TString &rChallengeMessage) const

Static Public Member Functions

static void buildSmbNtlmAuthRequest (TypeSmbNtlmAuthRequest *request, const char *computerName, const char *domain)
static void buildSmbNtlmAuthRequestNoAtSplit (TypeSmbNtlmAuthRequest *request, const char *computerName, const char *domain)
static void buildSmbNtlmAuthResponse (const TypeSmbNtlmAuthChallenge *challenge, TypeSmbNtlmAuthResponse *response, const char *user, const char *password)
static void buildSmbNtlmAuthResponseNoAtSplit (const TypeSmbNtlmAuthChallenge *challenge, TypeSmbNtlmAuthResponse *response, const char *user, const char *password)

Detailed Description

This class implements the NTLM authentication messaging. Basically it is used to generate the messages which can be sent to NT servers


Constructor & Destructor Documentation

zeus::TNTLMAuthentication::TNTLMAuthentication (  ) [inline]

Member Function Documentation

void TNTLMAuthentication::buildSmbNtlmAuthRequest ( TypeSmbNtlmAuthRequest request,
const char *  computerName,
const char *  domain 
) [static]

builds a repest message based on the computer and domain name. The "@" sign in computer name is skipped.

Parameters:
request: return value
computerName: name of the computer
domain: domain name
void TNTLMAuthentication::buildSmbNtlmAuthRequestNoAtSplit ( TypeSmbNtlmAuthRequest request,
const char *  computerName,
const char *  domain 
) [static]

builds a repest message based on the computer and domain name

Parameters:
request: return value
computerName: name of the computer
domain: domain name
void TNTLMAuthentication::buildSmbNtlmAuthResponse ( const TypeSmbNtlmAuthChallenge challenge,
TypeSmbNtlmAuthResponse response,
const char *  user,
const char *  password 
) [static]

builds a response message out of the challenge, the user and his password The "@" sign in user name is skipped.

Parameters:
challenge: challenge message from the server
response: return parameter
user: user name
password: password of the user
void TNTLMAuthentication::buildSmbNtlmAuthResponseNoAtSplit ( const TypeSmbNtlmAuthChallenge challenge,
TypeSmbNtlmAuthResponse response,
const char *  user,
const char *  password 
) [static]

builds a response message out of the challenge, the user and his password

Parameters:
challenge: challenge message from the server
response: return parameter
user: user name
password: password of the user
TString TNTLMAuthentication::getRequestBase64 ( const TString rComputerName,
const TString rDomainName 
) const

returns the request message (type 1) as base64 encoded string.

Parameters:
rComputerName: The computer name used to exchange the message
rDomainName,:domain name
Returns:
base64 encoded request message
TString TNTLMAuthentication::getRequestBase64 (  ) const

returns the request message (type 1) as base64 encoded string. The computer name and domain name are taken from the current system.

Returns:
base64 encoded request message
TString TNTLMAuthentication::getResponseBase64 ( const TString rUserName,
const TString rPassword,
const TString rChallengeMessage 
) const

returns the response message (type 3) based on the user name, password and challenge message (type 2)

Parameters:
rUserName: user name
rPassword: password
rChallengeMessage: message type 2
Returns:
response message type 3

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:28:31