diff options
Diffstat (limited to 'crypto/src/tls/TlsSrpIdentityManager.cs')
-rw-r--r-- | crypto/src/tls/TlsSrpIdentityManager.cs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/crypto/src/tls/TlsSrpIdentityManager.cs b/crypto/src/tls/TlsSrpIdentityManager.cs new file mode 100644 index 000000000..1cc2840be --- /dev/null +++ b/crypto/src/tls/TlsSrpIdentityManager.cs @@ -0,0 +1,18 @@ +using System; + +namespace Org.BouncyCastle.Tls +{ + /// <summary>Base interface for an object that can return login parameters from an SRP identity.</summary> + public interface TlsSrpIdentityManager + { + /// <summary>Lookup the <see cref="TlsSrpLoginParameters"/> corresponding to the specified identity.</summary> + /// <remarks> + /// NOTE: To avoid "identity probing", unknown identities SHOULD be handled as recommended in RFC 5054 2.5.1.3. + /// <see cref="SimulatedTlsSrpIdentityManager"/> is provided for this purpose. + /// </remarks> + /// <param name="identity">the SRP identity sent by the connecting client.</param> + /// <returns>the <see cref="TlsSrpLoginParameters"/> for the specified identity, or else 'simulated' parameters + /// if the identity is not recognized. A null value is also allowed, but not recommended.</returns> + TlsSrpLoginParameters GetLoginParameters(byte[] identity); + } +} |