Package org.bouncycastle.crypto.tls
Class SimulatedTlsSRPIdentityManager
- java.lang.Object
-
- org.bouncycastle.crypto.tls.SimulatedTlsSRPIdentityManager
-
- All Implemented Interfaces:
TlsSRPIdentityManager
public class SimulatedTlsSRPIdentityManager extends java.lang.Object implements TlsSRPIdentityManager
An implementation ofTlsSRPIdentityManagerthat simulates the existence of "unknown" identities to obscure the fact that there is no verifier for them.
-
-
Field Summary
Fields Modifier and Type Field Description protected SRP6GroupParametersgroupprotected Macmacprotected SRP6VerifierGeneratorverifierGenerator
-
Constructor Summary
Constructors Constructor Description SimulatedTlsSRPIdentityManager(SRP6GroupParameters group, SRP6VerifierGenerator verifierGenerator, Mac mac)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description TlsSRPLoginParametersgetLoginParameters(byte[] identity)Lookup theTlsSRPLoginParameterscorresponding to the specified identity.static SimulatedTlsSRPIdentityManagergetRFC5054Default(SRP6GroupParameters group, byte[] seedKey)Create aSimulatedTlsSRPIdentityManagerthat implements the algorithm from RFC 5054 2.5.1.3
-
-
-
Field Detail
-
group
protected SRP6GroupParameters group
-
verifierGenerator
protected SRP6VerifierGenerator verifierGenerator
-
mac
protected Mac mac
-
-
Constructor Detail
-
SimulatedTlsSRPIdentityManager
public SimulatedTlsSRPIdentityManager(SRP6GroupParameters group, SRP6VerifierGenerator verifierGenerator, Mac mac)
-
-
Method Detail
-
getRFC5054Default
public static SimulatedTlsSRPIdentityManager getRFC5054Default(SRP6GroupParameters group, byte[] seedKey)
Create aSimulatedTlsSRPIdentityManagerthat implements the algorithm from RFC 5054 2.5.1.3- Parameters:
group- theSRP6GroupParametersdefining the group that SRP is operating inseedKey- the secret "seed key" referred to in RFC 5054 2.5.1.3- Returns:
- an instance of
SimulatedTlsSRPIdentityManager
-
getLoginParameters
public TlsSRPLoginParameters getLoginParameters(byte[] identity)
Description copied from interface:TlsSRPIdentityManagerLookup theTlsSRPLoginParameterscorresponding to the specified identity. NOTE: To avoid "identity probing", unknown identities SHOULD be handled as recommended in RFC 5054 2.5.1.3.SimulatedTlsSRPIdentityManageris provided for this purpose.- Specified by:
getLoginParametersin interfaceTlsSRPIdentityManager- Parameters:
identity- the SRP identity sent by the connecting client- Returns:
- the
TlsSRPLoginParametersfor the specified identity, or else 'simulated' parameters if the identity is not recognized. A null value is also allowed, but not recommended.
-
-