pub struct IdentityManager { /* private fields */ }Implementations§
Source§impl IdentityManager
impl IdentityManager
Sourcepub fn new(path: impl Into<PathBuf>) -> Result<Self>
pub fn new(path: impl Into<PathBuf>) -> Result<Self>
§Errors
Returns an error if the identity file cannot be read, parsed, or if a new one cannot be written.
pub fn node_id(&self) -> PublicKey
pub const fn secret_key(&self) -> &SecretKey
pub fn path(&self) -> &Path
Sourcepub fn derive_folder_key(&self, namespace_id: NamespaceId) -> Result<SecretKey>
pub fn derive_folder_key(&self, namespace_id: NamespaceId) -> Result<SecretKey>
Derive a per-folder author secret key from the master key and namespace ID.
Uses HKDF-SHA256 with the namespace ID as salt and the master secret key as input key material, producing a deterministic 32-byte key unique to each folder.
§Errors
Returns an error if HKDF expansion fails (should never happen with SHA-256 and 32-byte output).
Derive a per-folder iroh_docs::Author from the master key.
The author’s signing key is deterministically derived from the master key and the folder’s namespace ID via HKDF, ensuring each folder has a unique author identity without storing additional key material.
§Errors
Returns an error if key derivation fails.
Trait Implementations§
Source§impl Clone for IdentityManager
impl Clone for IdentityManager
Source§fn clone(&self) -> IdentityManager
fn clone(&self) -> IdentityManager
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for IdentityManager
impl RefUnwindSafe for IdentityManager
impl Send for IdentityManager
impl Sync for IdentityManager
impl Unpin for IdentityManager
impl UnsafeUnpin for IdentityManager
impl UnwindSafe for IdentityManager
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
Converts
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> ⓘ
Converts
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