pub trait MessageSignatureRes {
type Error;
// Required methods
fn set_message_signature<T, B>(
&mut self,
signature_params: &HttpSignatureParams,
signing_key: &T,
signature_name: Option<&str>,
req_for_param: Option<&Request<B>>,
) -> impl Future<Output = Result<(), Self::Error>> + Send
where Self: Sized,
T: SigningKey + Sync,
B: Sync;
fn set_message_signatures<T, B>(
&mut self,
params_key_name: &[(&HttpSignatureParams, &T, Option<&str>)],
req_for_param: Option<&Request<B>>,
) -> impl Future<Output = Result<(), Self::Error>> + Send
where Self: Sized,
T: SigningKey + Sync,
B: Sync;
fn verify_message_signature<T, B>(
&self,
verifying_key: &T,
key_id: Option<&str>,
req_for_param: Option<&Request<B>>,
) -> impl Future<Output = Result<String, Self::Error>> + Send
where Self: Sized,
T: VerifyingKey + Sync,
B: Sync;
fn verify_message_signatures<T, B>(
&self,
key_and_id: &[(&T, Option<&str>)],
req_for_param: Option<&Request<B>>,
) -> impl Future<Output = Result<Vec<Result<String, Self::Error>>, Self::Error>> + Send
where Self: Sized,
T: VerifyingKey + Sync,
B: Sync;
fn extract_signatures<B>(
&self,
req_for_param: Option<&Request<B>>,
) -> Result<IndexMap<String, (HttpSignatureBase, HttpSignatureHeaders)>, Self::Error>;
}Expand description
A trait about http message signature for response
Required Associated Types§
Required Methods§
Sourcefn set_message_signature<T, B>(
&mut self,
signature_params: &HttpSignatureParams,
signing_key: &T,
signature_name: Option<&str>,
req_for_param: Option<&Request<B>>,
) -> impl Future<Output = Result<(), Self::Error>> + Send
fn set_message_signature<T, B>( &mut self, signature_params: &HttpSignatureParams, signing_key: &T, signature_name: Option<&str>, req_for_param: Option<&Request<B>>, ) -> impl Future<Output = Result<(), Self::Error>> + Send
Set the http message signature from given http signature params and signing key
Sourcefn set_message_signatures<T, B>(
&mut self,
params_key_name: &[(&HttpSignatureParams, &T, Option<&str>)],
req_for_param: Option<&Request<B>>,
) -> impl Future<Output = Result<(), Self::Error>> + Send
fn set_message_signatures<T, B>( &mut self, params_key_name: &[(&HttpSignatureParams, &T, Option<&str>)], req_for_param: Option<&Request<B>>, ) -> impl Future<Output = Result<(), Self::Error>> + Send
Set the http message signatures from given tuples of (http signature params, signing key, name)
Sourcefn verify_message_signature<T, B>(
&self,
verifying_key: &T,
key_id: Option<&str>,
req_for_param: Option<&Request<B>>,
) -> impl Future<Output = Result<String, Self::Error>> + Send
fn verify_message_signature<T, B>( &self, verifying_key: &T, key_id: Option<&str>, req_for_param: Option<&Request<B>>, ) -> impl Future<Output = Result<String, Self::Error>> + Send
Verify the http message signature with given verifying key if the request has signature and signature-input headers
Sourcefn verify_message_signatures<T, B>(
&self,
key_and_id: &[(&T, Option<&str>)],
req_for_param: Option<&Request<B>>,
) -> impl Future<Output = Result<Vec<Result<String, Self::Error>>, Self::Error>> + Send
fn verify_message_signatures<T, B>( &self, key_and_id: &[(&T, Option<&str>)], req_for_param: Option<&Request<B>>, ) -> impl Future<Output = Result<Vec<Result<String, Self::Error>>, Self::Error>> + Send
Verify multiple signatures at once
Sourcefn extract_signatures<B>(
&self,
req_for_param: Option<&Request<B>>,
) -> Result<IndexMap<String, (HttpSignatureBase, HttpSignatureHeaders)>, Self::Error>
fn extract_signatures<B>( &self, req_for_param: Option<&Request<B>>, ) -> Result<IndexMap<String, (HttpSignatureBase, HttpSignatureHeaders)>, Self::Error>
Extract all signature bases contained in the request headers
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<D> MessageSignatureRes for Response<D>
impl<D> MessageSignatureRes for Response<D>
Source§async fn set_message_signature<T, B>(
&mut self,
signature_params: &HttpSignatureParams,
signing_key: &T,
signature_name: Option<&str>,
req_for_param: Option<&Request<B>>,
) -> Result<(), Self::Error>
async fn set_message_signature<T, B>( &mut self, signature_params: &HttpSignatureParams, signing_key: &T, signature_name: Option<&str>, req_for_param: Option<&Request<B>>, ) -> Result<(), Self::Error>
Set the http message signature from given http signature params and signing key
Source§async fn verify_message_signature<T, B>(
&self,
verifying_key: &T,
key_id: Option<&str>,
req_for_param: Option<&Request<B>>,
) -> Result<String, Self::Error>
async fn verify_message_signature<T, B>( &self, verifying_key: &T, key_id: Option<&str>, req_for_param: Option<&Request<B>>, ) -> Result<String, Self::Error>
Verify the http message signature with given verifying key if the response has signature and signature-input headers Return Ok(()) if the signature is valid. If invalid for the given key or error occurs (like the case where the request does not have signature and/or signature-input headers), return Err. If key_id is given, it is used to match the key id in signature params
Source§fn extract_signatures<B>(
&self,
req_for_param: Option<&Request<B>>,
) -> Result<IndexMap<String, (HttpSignatureBase, HttpSignatureHeaders)>, Self::Error>
fn extract_signatures<B>( &self, req_for_param: Option<&Request<B>>, ) -> Result<IndexMap<String, (HttpSignatureBase, HttpSignatureHeaders)>, Self::Error>
Extract all signature bases contained in the response headers