pub struct DkimSigner<T: SigningKey, State = NeedDomain> {
pub key: T,
pub template: Signature,
/* private fields */
}Fields§
§key: T§template: SignatureImplementations§
Source§impl<T: SigningKey> DkimSigner<T>
impl<T: SigningKey> DkimSigner<T>
pub fn from_key(key: T) -> DkimSigner<T, NeedDomain>
Source§impl<T: SigningKey> DkimSigner<T, NeedDomain>
impl<T: SigningKey> DkimSigner<T, NeedDomain>
Sourcepub fn domain(self, domain: impl Into<String>) -> DkimSigner<T, NeedSelector>
pub fn domain(self, domain: impl Into<String>) -> DkimSigner<T, NeedSelector>
Sets the domain to use for signing.
Source§impl<T: SigningKey> DkimSigner<T, NeedSelector>
impl<T: SigningKey> DkimSigner<T, NeedSelector>
Sourcepub fn selector(self, selector: impl Into<String>) -> DkimSigner<T, NeedHeaders>
pub fn selector(self, selector: impl Into<String>) -> DkimSigner<T, NeedHeaders>
Sets the selector to use for signing.
Source§impl<T: SigningKey> DkimSigner<T, NeedHeaders>
impl<T: SigningKey> DkimSigner<T, NeedHeaders>
Sourcepub fn headers(
self,
headers: impl IntoIterator<Item = impl Into<String>>,
) -> DkimSigner<T, Done>
pub fn headers( self, headers: impl IntoIterator<Item = impl Into<String>>, ) -> DkimSigner<T, Done>
Sets the headers to sign.
Source§impl<T: SigningKey> DkimSigner<T, Done>
impl<T: SigningKey> DkimSigner<T, Done>
Sourcepub fn atpsh(self, atpsh: HashAlgorithm) -> Self
pub fn atpsh(self, atpsh: HashAlgorithm) -> Self
Sets the third-party signature hashing algorithm.
Sourcepub fn agent_user_identifier(self, auid: impl Into<String>) -> Self
pub fn agent_user_identifier(self, auid: impl Into<String>) -> Self
Sets the selector to use for signing.
Sourcepub fn expiration(self, expiration: u64) -> Self
pub fn expiration(self, expiration: u64) -> Self
Sets the number of seconds from now to use for the signature expiration.
Sourcepub fn body_length(self, body_length: bool) -> Self
pub fn body_length(self, body_length: bool) -> Self
Include the body length in the signature.
Sourcepub fn header_canonicalization(self, ch: Canonicalization) -> Self
pub fn header_canonicalization(self, ch: Canonicalization) -> Self
Sets header canonicalization algorithm.
Sourcepub fn body_canonicalization(self, cb: Canonicalization) -> Self
pub fn body_canonicalization(self, cb: Canonicalization) -> Self
Sets header canonicalization algorithm.
Source§impl<T: SigningKey> DkimSigner<T, Done>
impl<T: SigningKey> DkimSigner<T, Done>
Source§impl<T: SigningKey> DkimSigner<T, Done>
impl<T: SigningKey> DkimSigner<T, Done>
Sourcepub fn sign_streaming(&self) -> DkimSigningStream<'_, T>
pub fn sign_streaming(&self) -> DkimSigningStream<'_, T>
Creates a streaming DKIM signer.
Feed raw message data via DkimSigningStream::write, then call
DkimSigningStream::finish to get the signature.
Headers are buffered internally until the header/body boundary (\r\n\r\n)
is detected. After that, body content is streamed through the hasher
without additional buffering.
§Example
ⓘ
let mut stream = signer.sign_streaming();
for chunk in message_chunks {
stream.write(chunk);
}
let signature = stream.finish()?;Trait Implementations§
Source§impl<T: Clone + SigningKey, State: Clone> Clone for DkimSigner<T, State>
impl<T: Clone + SigningKey, State: Clone> Clone for DkimSigner<T, State>
Source§fn clone(&self) -> DkimSigner<T, State>
fn clone(&self) -> DkimSigner<T, State>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: Debug + SigningKey, State: Debug> Debug for DkimSigner<T, State>
impl<T: Debug + SigningKey, State: Debug> Debug for DkimSigner<T, State>
Source§impl<T: Default + SigningKey, State: Default> Default for DkimSigner<T, State>
impl<T: Default + SigningKey, State: Default> Default for DkimSigner<T, State>
Source§fn default() -> DkimSigner<T, State>
fn default() -> DkimSigner<T, State>
Returns the “default value” for a type. Read more
Source§impl<T: PartialEq + SigningKey, State: PartialEq> PartialEq for DkimSigner<T, State>
impl<T: PartialEq + SigningKey, State: PartialEq> PartialEq for DkimSigner<T, State>
impl<T: Eq + SigningKey, State: Eq> Eq for DkimSigner<T, State>
impl<T: SigningKey, State> StructuralPartialEq for DkimSigner<T, State>
Auto Trait Implementations§
impl<T, State> Freeze for DkimSigner<T, State>where
T: Freeze,
impl<T, State> RefUnwindSafe for DkimSigner<T, State>where
T: RefUnwindSafe,
State: RefUnwindSafe,
impl<T, State> Send for DkimSigner<T, State>
impl<T, State> Sync for DkimSigner<T, State>
impl<T, State> Unpin for DkimSigner<T, State>
impl<T, State> UnsafeUnpin for DkimSigner<T, State>where
T: UnsafeUnpin,
impl<T, State> UnwindSafe for DkimSigner<T, State>where
T: UnwindSafe,
State: UnwindSafe,
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.