SRPServer class abstract
Implements the server side SRP-6a protocol. Note that this class is stateful, and therefore NOT threadsafe. This implementation of SRP is based on the optimized message sequence put forth by Thomas Wu in the paper "SRP-6: Improvements and Refinements to the Secure Remote Password Protocol, 2002"
- Implementers
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
calculateSecret(
BigInt clientA) → BigInt? - Processes the client's credentials. If valid the shared secret is generated and returned. @param clientA The client's credentials @return A shared secret BigInt @throws CryptoException If client's credentials are invalid
-
calculateServerEvidenceMessage(
) → BigInt? - Computes the server evidence message M2 using the previously verified values. To be called after successfully verifying the client evidence message M1. @return M2: the server side generated evidence message @throws CryptoException
-
calculateSessionKey(
) → BigInt? - Computes the final session key as a result of the SRP successful mutual authentication To be called after calculating the server evidence message M2. @return Key: the mutual authenticated symmetric session key @throws CryptoException
-
generateServerCredentials(
) → BigInt? - Generates the server's credentials that are to be sent to the client. @return The server's public value
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
verifyClientEvidenceMessage(
BigInt clientM1) → bool - Authenticates the received client evidence message M1 and saves it only if correct. To be called after calculating the secret S. @param clientM1 the client side generated evidence message @return A boolean indicating if the client message M1 was the expected one. @throws CryptoException
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited