Reference Library
NLS Class
NamespacesMBNCSUtilNLS
Supports the New Logon System's SRP (Secure Remote Password) authentication system as well as Warcraft III server signature validation. This class cannot be inherited.
Declaration Syntax
C#Visual BasicVisual C++
public sealed class NLS
Public NotInheritable Class NLS
public ref class NLS sealed
Members
All MembersConstructorsMethodsFields



IconMemberDescription
NLS(String, String)
Creates a new NLS login context.

CreateAccount(Stream)
Adds the account creation information (for SID_AUTH_ACCOUNTCREATE) to the specified stream at the current location.

CreateAccount(BncsPacket)
Adds the account creation information (for SID_AUTH_ACCOUNTCREATE) to the specified packet.

CreateAccount(array<Byte>[]()[][], Int32, Int32)
Adds the account creation information (for SID_AUTH_ACCOUNTCREATE) to the specified buffer at the specified location.

Equals(Object)
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Finalize()()()()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
Generator
The generator value used for login calculations.

GetHashCode()()()()
Serves as a hash function for a particular type. GetHashCode()()()() is suitable for use in hashing algorithms and data structures like a hash table.
(Inherited from Object.)
GetType()()()()
Gets the Type of the current instance.
(Inherited from Object.)
LoginAccount(Stream)
Adds the account login information (for SID_AUTH_ACCOUNTLOGON) to the specified stream at the current location.

LoginAccount(BncsPacket)
Adds the account login information (for SID_AUTH_ACCOUNTLOGON) to the specified packet.

LoginAccount(array<Byte>[]()[][], Int32, Int32)
Adds the account login information (for SID_AUTH_ACCOUNTLOGON) to the specified buffer at the specified location.

LoginProof(Stream, array<Byte>[]()[][], array<Byte>[]()[][])
Adds the account login proof (for SID_AUTH_ACCOUNTLOGONPROOF) to the specified stream at the current location.

LoginProof(array<Byte>[]()[][], Int32, Int32, array<Byte>[]()[][], array<Byte>[]()[][])
Adds the account login proof (for SID_AUTH_ACCOUNTLOGONPROOF) to the specified buffer at the specified location.

LoginProof(BncsPacket, array<Byte>[]()[][], array<Byte>[]()[][])
Adds the account login proof (for SID_AUTH_ACCOUNTLOGONPROOF) to the specified packet.

MemberwiseClone()()()()
Creates a shallow copy of the current Object.
(Inherited from Object.)
Modulus
The modulus value used for login calculations.

ServerModulus
The modulus used to calculate the server IP signature.

SignatureKey
The four-byte RSA server signature key used to decrypt the server signatures.

ToString()()()()
Returns a String that represents the current Object.
(Inherited from Object.)
ValidateServerSignature(array<Byte>[]()[][], array<Byte>[]()[][])
Validates a Warcraft III server signature.

VerifyServerProof(array<Byte>[]()[][])
Verifies that the server's proof value matches the value calculated by the client.

Remarks

This class does not monitor contexts to ensure that its values are being modified in the appropriate sequence; the NLS authorization scheme is left up to the consumer.

Thread Safety
This type is safe for all multithreaded operations.
Inheritance Hierarchy

Assembly: Asgard5Library (Module: Asgard5Library)