pub enum SigError {
}Expand description
Signature-layer errors raised by crate::http_sig.
Variants§
MissingHeader(&'static str)
A required HTTP header (e.g. Date, Digest) is absent.
MalformedSignature(String)
The Signature header could not be parsed.
MissingKeyId
The Signature header lacks a keyId parameter.
UnsupportedAlgorithm(String)
The declared algorithm is not rsa-sha256.
DigestMismatch
The Digest header does not match the request body.
ActorFetch(String, String)
Failed to dereference the remote actor’s public key.
NoPublicKey
The fetched actor document contains no usable public key.
VerifyFailed(String)
RSA signature verification returned a mismatch.
Base64(String)
Base64 decoding of the signature value failed.
Rsa(String)
An RSA key-parsing or padding error.
Url(String)
The keyId URL could not be parsed.
DateNotFresh(String)
The Date header is too old or too far in the future (replay
protection).
SsrfBlocked(String)
The target URL resolves to a private/internal IP address (SSRF protection).
Trait Implementations§
Source§impl Error for SigError
impl Error for SigError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<SigError> for InboxError
impl From<SigError> for InboxError
Auto Trait Implementations§
impl Freeze for SigError
impl RefUnwindSafe for SigError
impl Send for SigError
impl Sync for SigError
impl Unpin for SigError
impl UnsafeUnpin for SigError
impl UnwindSafe for SigError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.