Trait ockam::Identity [−][src]
pub trait Identity: 'static + Send {
Show 20 methods
fn identifier(&self) -> Result<EntityIdentifier, Error>;
fn create_key<S>(&mut self, label: S) -> Result<(), Error>
where
S: Into<String>;
fn rotate_profile_key(&mut self) -> Result<(), Error>;
fn get_profile_secret_key(&self) -> Result<Secret, Error>;
fn get_secret_key<S>(&self, label: S) -> Result<Secret, Error>
where
S: Into<String>;
fn get_profile_public_key(&self) -> Result<PublicKey, Error>;
fn get_public_key<S>(&self, label: S) -> Result<PublicKey, Error>
where
S: Into<String>;
fn create_auth_proof<S>(
&mut self,
state_slice: S
) -> Result<Vec<u8, Global>, Error>
where
S: AsRef<[u8]>;
fn verify_auth_proof<S, P>(
&mut self,
state_slice: S,
peer_id: &EntityIdentifier,
proof_slice: P
) -> Result<bool, Error>
where
S: AsRef<[u8]>,
P: AsRef<[u8]>;
fn add_change(
&mut self,
change_event: ProfileChangeEvent
) -> Result<(), Error>;
fn get_changes(&self) -> Result<Vec<ProfileChangeEvent, Global>, Error>;
fn verify_changes(&mut self) -> Result<bool, Error>;
fn get_contacts(&self) -> Result<Vec<Contact, Global>, Error>;
fn as_contact(&mut self) -> Result<Contact, Error>;
fn get_contact(
&mut self,
contact_id: &EntityIdentifier
) -> Result<Option<Contact>, Error>;
fn verify_contact<C>(&mut self, contact: C) -> Result<bool, Error>
where
C: Into<Contact>;
fn verify_and_add_contact<C>(&mut self, contact: C) -> Result<bool, Error>
where
C: Into<Contact>;
fn verify_and_update_contact<C>(
&mut self,
contact_id: &EntityIdentifier,
change_events: C
) -> Result<bool, Error>
where
C: AsRef<[ProfileChangeEvent]>;
fn get_lease(
&self,
lease_manager_route: &Route,
org_id: impl ToString,
bucket: impl ToString,
ttl: usize
) -> Result<Lease, Error>;
fn revoke_lease(
&mut self,
lease_manager_route: &Route,
lease: Lease
) -> Result<(), Error>;
}Expand description
Identity
Required methods
fn identifier(&self) -> Result<EntityIdentifier, Error>
fn identifier(&self) -> Result<EntityIdentifier, Error>
Return unique [Profile] identifier, which is equal to sha256 of the root public key
Create new key.
fn rotate_profile_key(&mut self) -> Result<(), Error>
fn rotate_profile_key(&mut self) -> Result<(), Error>
Rotate existing key.
Get Secret key.
Get PublicKey.
Create an authentication proof based on the given state
Verify a proof based on the given state, proof and profile.
fn add_change(&mut self, change_event: ProfileChangeEvent) -> Result<(), Error>
fn add_change(&mut self, change_event: ProfileChangeEvent) -> Result<(), Error>
Add a change event.
fn get_changes(&self) -> Result<Vec<ProfileChangeEvent, Global>, Error>
fn get_changes(&self) -> Result<Vec<ProfileChangeEvent, Global>, Error>
Return change history chain
fn verify_changes(&mut self) -> Result<bool, Error>
fn verify_changes(&mut self) -> Result<bool, Error>
Verify the whole change event chain
Return all known to this profile Contacts
fn get_contact(
&mut self,
contact_id: &EntityIdentifier
) -> Result<Option<Contact>, Error>
fn get_contact(
&mut self,
contact_id: &EntityIdentifier
) -> Result<Option<Contact>, Error>
Return Contact with given ProfileIdentifier
Verify cryptographically whole event chain. Also verify sequence correctness
Verify and add new Contact to [Profile]’s Contact list
fn verify_and_update_contact<C>(
&mut self,
contact_id: &EntityIdentifier,
change_events: C
) -> Result<bool, Error> where
C: AsRef<[ProfileChangeEvent]>,
fn verify_and_update_contact<C>(
&mut self,
contact_id: &EntityIdentifier,
change_events: C
) -> Result<bool, Error> where
C: AsRef<[ProfileChangeEvent]>,
Verify and update known Contact with new ProfileChangeEvents