namespace Esiur.Security.Authority; /// /// Optional authentication-handler capability for rotating authentication keys after /// the initial session key has enabled authenticated encrypted transport protection. /// Transport implementations MUST NOT call either exchange method or transmit their /// data before that protection is active; rotation payloads can contain fresh verifier /// material that must never appear on a plaintext channel. /// public interface IAuthenticationKeyRotationHandler { bool RequiresKeyRotation { get; } /// /// Starts key rotation on the connection initiator. This is called only after the /// encrypted Established event has been received. /// AuthenticationKeyRotationResult BeginKeyRotation(); /// /// Processes one encrypted key-rotation message from the peer. /// AuthenticationKeyRotationResult ProcessKeyRotation(object data); }