C# Class P2PStateServer.CompleteAuthRequest

Represents the CompleteAuthRequest message
The CompleteAuthRequest message is sent after a peer to finish the second half of the authentication process. The authentication process is outlined below: 1. Peer A --- BeginAuthRequest ---) Peer B (Peer A wishes to authenticate with Peer B) 2. Peer A (--- UnauthorizedResponse ---- Peer B (Peer B sends a challenge to Peer A) 3. Peer A --- CompleteAuthRequest --) Peer B (Peer A calculates the digest and includes a challenge to Peer B) 4. Peer A (--- OKResponse --- Peer B (Peer B verifies Peer A's digest, authenticates Peer A and send digest for Peer A's challenge) 5. Peer A Peer B (peer A verifies Peer B's digest and authenticates peer B) If Peer B cannot verify Peer A's digest at step 4, Peer B sends an UnauthorizedResponse. If Peer A cannot verify Peer B's digest at step 5. Peer A disconnects the connection. As always, if Peer B stops responding at anytime, the authentication process times out at peer A. This message is only transmitted between peers.
Inheritance: ServiceRequest
显示文件 Open project: tenor/p2pStateServer

Protected Properties

Property Type Description
algorithm string
cnonce string
ncount int
nonce string
qop string
realm string
response string
uri string
username string

Public Methods

Method Description
CompleteAuthRequest ( HTTPPartialData Data, StateServer Service ) : System

Initializes a new instance of the CompleteAuthRequest class

Process ( ) : void

Process the message

Send ( string Nonce, string ClientNonce, string ServerDigest, string ClientDigest, byte SessionKey, string MachineName, string Algorithm, string Realm, ServiceSocket socket, string ServerIP ) : void

Sends a CompleteAuthRequest message to a specified ServiceSocket.

Protected Methods

Method Description
BuildResponse ( Type ResponseType, string ResponseMessage, ISessionResponseInfo ResponseInfo, byte Content ) : ResponseData

Generates an appropriate ResponseData object for this message, filled with supplied data

Method Details

BuildResponse() protected method

Generates an appropriate ResponseData object for this message, filled with supplied data
protected BuildResponse ( Type ResponseType, string ResponseMessage, ISessionResponseInfo ResponseInfo, byte Content ) : ResponseData
ResponseType System.Type The Type of the Response message
ResponseMessage string The HTTP response reason phrase
ResponseInfo ISessionResponseInfo The session response information
Content byte The response data
return ResponseData

CompleteAuthRequest() public method

Initializes a new instance of the CompleteAuthRequest class
public CompleteAuthRequest ( HTTPPartialData Data, StateServer Service ) : System
Data HTTPPartialData The HTTPPartialData class to load this instance from
Service StateServer State server instance
return System

Process() public method

Process the message
public Process ( ) : void
return void

Send() public static method

Sends a CompleteAuthRequest message to a specified ServiceSocket.
public static Send ( string Nonce, string ClientNonce, string ServerDigest, string ClientDigest, byte SessionKey, string MachineName, string Algorithm, string Realm, ServiceSocket socket, string ServerIP ) : void
Nonce string The nonce field value in the Authorization Request Header, according o RFC 2617
ClientNonce string The cnonce field value in the Authorization Request Header, according o RFC 2617
ServerDigest string The response field value in the Authorization Request Header, according o RFC 2617
ClientDigest string The calculated Client Digest
SessionKey byte The calculated data encryption session key
MachineName string The computer's name. Used as the username field value in the Authorization Request Header, according to RFC 2617
Algorithm string The algorithm field value in the Authorization Request Header, according o RFC 2617
Realm string The realm field value in the Authorization Request Header, according o RFC 2617
socket ServiceSocket The target ServiceSocket
ServerIP string
return void

Property Details

algorithm protected_oe property

protected string algorithm
return string

cnonce protected_oe property

protected string cnonce
return string

ncount protected_oe property

protected int ncount
return int

nonce protected_oe property

protected string nonce
return string

qop protected_oe property

protected string qop
return string

realm protected_oe property

protected string realm
return string

response protected_oe property

protected string response
return string

uri protected_oe property

protected string uri
return string

username protected_oe property

protected string username
return string