pub enum OpaqueError {
ServerAuthenticationError,
ClientAuthenticationError,
EnvelopeRecoveryError,
InvalidMac,
DeserializationError,
InternalError(&'static str),
InvalidInput(&'static str),
}Expand description
Errors that can occur during the OPAQUE protocol.
§Security
The distinct error variants are useful for server-side logging and
debugging, but they must not be exposed verbatim to remote clients.
Returning different error messages for ServerAuthenticationError,
EnvelopeRecoveryError, and InvalidMac can serve as an oracle,
allowing an attacker to distinguish “wrong password” from “server MAC
failure” from other conditions. Always map all authentication-related
errors to a single opaque response before sending over the wire.
Variants§
ServerAuthenticationError
The server’s MAC did not verify during login.
ClientAuthenticationError
The client’s MAC did not verify during login.
EnvelopeRecoveryError
The envelope could not be recovered (wrong password).
InvalidMac
A MAC verification failed.
DeserializationError
A message could not be deserialized.
InternalError(&'static str)
An internal error occurred.
InvalidInput(&'static str)
Invalid input was provided.
Trait Implementations§
Source§impl Debug for OpaqueError
impl Debug for OpaqueError
Source§impl Display for OpaqueError
impl Display for OpaqueError
Source§impl Error for OpaqueError
Available on crate feature std only.
impl Error for OpaqueError
std only.