summary refs log tree commit diff
path: root/crypto/src/tls/TlsSrpIdentityManager.cs
blob: 1cc2840bed820a7e9bb7fc4449da9122e7f94349 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);
    }
}