pub struct HmacKey { /* private fields */ }Expand description
Pre-decoded HMAC-SHA256 key bytes for Azure shared-key /
service-SAS signing. The base64 decode happens once at
construction (in [SharedKeySigningPolicy::new] and the
parse_connection_string paths) instead of per request.
The bytes themselves are an Azure storage account key — leaking
them via Debug or log output would give full storage-account
access — so the manual Debug impl redacts. The underlying
Vec<u8> is not zeroized on drop; the existing Secret-based
design did not zeroize either, so this is a parity choice
rather than a regression (adding zeroize would mean a new
dependency).
Implementations§
Source§impl HmacKey
impl HmacKey
Sourcepub fn from_base64(key_b64: &str) -> Result<Self, ObjectStoreError>
pub fn from_base64(key_b64: &str) -> Result<Self, ObjectStoreError>
Decode key_b64 and return an HmacKey. Surfaces the
decoding failure inline so the malformed-key error fires at
credential-resolution time rather than at first request.
§Errors
Returns ObjectStoreError::Other if key_b64 is not valid
base64.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for HmacKey
impl RefUnwindSafe for HmacKey
impl Send for HmacKey
impl Sync for HmacKey
impl Unpin for HmacKey
impl UnsafeUnpin for HmacKey
impl UnwindSafe for HmacKey
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more