pub enum SignatureError {
Show 17 variants
IO(Error),
InvalidBodyEncoding {
message: String,
},
InvalidCredential {
message: String,
},
InvalidSecretKey,
InvalidSignature {
message: String,
},
InvalidSigningKeyKind {
message: String,
},
InvalidURIPath {
message: String,
},
MalformedHeader {
message: String,
},
MalformedParameter {
message: String,
},
MalformedSignature {
message: String,
},
MissingHeader {
header: String,
},
MissingParameter {
parameter: String,
},
MultipleHeaderValues {
header: String,
},
MultipleParameterValues {
parameter: String,
},
TimestampOutOfRange {
minimum: DateTime<Utc>,
maximum: DateTime<Utc>,
received: DateTime<Utc>,
},
UnknownAccessKey {
access_key: String,
},
UnknownSignatureAlgorithm {
algorithm: String,
},
}
Expand description
Error returned when an attempt at validating an AWS SigV4 signature fails.
Variants§
IO(Error)
Validation failed due to an underlying I/O error.
InvalidBodyEncoding
The request body used an unsupported character set encoding. Currently only UTF-8 is supported.
InvalidCredential
The request signature specified an invalid credential – either the access key was not specified, or the
credential scope (in the form <code>_date_/_region_/_service_/aws4_request</code>
) did not match the
expected value for the server.
InvalidSecretKey
The secret key contains invalid bytes.
InvalidSignature
The signature passed in the request did not match the calculated signature value.
InvalidSigningKeyKind
The type of signing key is incorrect for this operation.
InvalidURIPath
The URI path includes invalid components. This can be a malformed hex encoding (e.g. %0J
), a non-absolute
URI path (foo/bar
), or a URI path that attempts to navigate above the root (/x/../../../y
).
MalformedHeader
An HTTP header was malformed – the value could not be decoded as UTF-8, or the header was empty and this is
not allowed (e.g. the content-type
header), or the header could not be parsed (e.g., the date
header is
not a valid date).
MalformedParameter
A query parameter was malformed – the value could not be decoded as UTF-8, or the parameter was empty and
this is not allowed (e.g. a signature parameter), or the parameter could not be parsed (e.g., the X-Amz-Date
parameter is not a valid date).
MalformedSignature
The AWS SigV4 signature was malformed in some way. This can include invalid timestamp formats, missing authorization components, or unparseable components.
MissingHeader
A required HTTP header (and its equivalent in the query string) is missing.
MissingParameter
A required query parameter is missing. This is used internally in the library; external callers only see
MissingHeader
.
MultipleHeaderValues
An HTTP header that can be specified only once was specified multiple times.
MultipleParameterValues
A query parameter that can be specified only once was specified multiple times.
TimestampOutOfRange
The timestamp in the request is out of the allowed range.
Fields
UnknownAccessKey
The access key specified in the request is unknown.
UnknownSignatureAlgorithm
The signature algorithm requested by the caller is unknown. This library only supports the AWS4-HMAC-SHA256
algorithm.