public class SimulatedTlsSRPIdentityManager extends java.lang.Object implements TlsSRPIdentityManager
TlsSRPIdentityManager
that simulates the existence of "unknown" identities
to obscure the fact that there is no verifier for them.Modifier and Type | Field and Description |
---|---|
protected SRP6GroupParameters |
group |
protected Mac |
mac |
protected SRP6VerifierGenerator |
verifierGenerator |
Constructor and Description |
---|
SimulatedTlsSRPIdentityManager(SRP6GroupParameters group,
SRP6VerifierGenerator verifierGenerator,
Mac mac) |
Modifier and Type | Method and Description |
---|---|
TlsSRPLoginParameters |
getLoginParameters(byte[] identity)
Lookup the
TlsSRPLoginParameters corresponding to the specified identity. |
static SimulatedTlsSRPIdentityManager |
getRFC5054Default(SRP6GroupParameters group,
byte[] seedKey)
Create a
SimulatedTlsSRPIdentityManager that implements the algorithm from RFC 5054 2.5.1.3 |
protected SRP6GroupParameters group
protected SRP6VerifierGenerator verifierGenerator
protected Mac mac
public SimulatedTlsSRPIdentityManager(SRP6GroupParameters group, SRP6VerifierGenerator verifierGenerator, Mac mac)
public static SimulatedTlsSRPIdentityManager getRFC5054Default(SRP6GroupParameters group, byte[] seedKey)
SimulatedTlsSRPIdentityManager
that implements the algorithm from RFC 5054 2.5.1.3group
- the SRP6GroupParameters
defining the group that SRP is operating inseedKey
- the secret "seed key" referred to in RFC 5054 2.5.1.3SimulatedTlsSRPIdentityManager
public TlsSRPLoginParameters getLoginParameters(byte[] identity)
TlsSRPIdentityManager
TlsSRPLoginParameters
corresponding to the specified identity.
NOTE: To avoid "identity probing", unknown identities SHOULD be handled as recommended in RFC
5054 2.5.1.3. SimulatedTlsSRPIdentityManager
is provided for this purpose.getLoginParameters
in interface TlsSRPIdentityManager
identity
- the SRP identity sent by the connecting clientTlsSRPLoginParameters
for the specified identity, or else 'simulated'
parameters if the identity is not recognized. A null value is also allowed, but not
recommended.