pub struct Invitation { /* private fields */ }Expand description
A signed endpoint-targeted domain bootstrap payload.
Implementations§
Source§impl Invitation
impl Invitation
Sourcepub fn issue(
descriptor: DomainDescriptor,
chain: Vec<CapabilityCertificate>,
seed: DomainSeed,
subject: AuthorId,
issuer: &IrohSigner,
) -> Result<Invitation, InvitationError>
pub fn issue( descriptor: DomainDescriptor, chain: Vec<CapabilityCertificate>, seed: DomainSeed, subject: AuthorId, issuer: &IrohSigner, ) -> Result<Invitation, InvitationError>
Issues a signed invitation containing a validated least-privilege chain and epoch key.
Sourcepub fn issue_at_checkpoint(
descriptor: DomainDescriptor,
chain: Vec<CapabilityCertificate>,
controller_chain: Vec<CapabilityCertificate>,
seed: DomainSeed,
head: Option<ControlTransition>,
subject_revocations: Vec<(AuthorId, u64)>,
issuer_capability: CapabilityId,
subject: AuthorId,
issuer: &IrohSigner,
) -> Result<Invitation, InvitationError>
pub fn issue_at_checkpoint( descriptor: DomainDescriptor, chain: Vec<CapabilityCertificate>, controller_chain: Vec<CapabilityCertificate>, seed: DomainSeed, head: Option<ControlTransition>, subject_revocations: Vec<(AuthorId, u64)>, issuer_capability: CapabilityId, subject: AuthorId, issuer: &IrohSigner, ) -> Result<Invitation, InvitationError>
Issues a current-epoch invitation carrying a signed compact authority baseline.
Sourcepub fn issue_at_checkpoint_with_evidence(
descriptor: DomainDescriptor,
chain: Vec<CapabilityCertificate>,
controller_chain: Vec<CapabilityCertificate>,
active_chains: &[Vec<CapabilityCertificate>],
seed: DomainSeed,
head: Option<ControlTransition>,
subject_revocations: Vec<(AuthorId, u64)>,
issuer_capability: CapabilityId,
subject: AuthorId,
issuer: &IrohSigner,
) -> Result<Invitation, InvitationError>
pub fn issue_at_checkpoint_with_evidence( descriptor: DomainDescriptor, chain: Vec<CapabilityCertificate>, controller_chain: Vec<CapabilityCertificate>, active_chains: &[Vec<CapabilityCertificate>], seed: DomainSeed, head: Option<ControlTransition>, subject_revocations: Vec<(AuthorId, u64)>, issuer_capability: CapabilityId, subject: AuthorId, issuer: &IrohSigner, ) -> Result<Invitation, InvitationError>
Issues a checkpoint with complete evidence for the domain’s active members.
Sourcepub const fn subject(&self) -> AuthorId
pub const fn subject(&self) -> AuthorId
Returns the target endpoint that alone may import this invitation.
pub const fn issuer(&self) -> AuthorId
Sourcepub const fn descriptor(&self) -> &DomainDescriptor
pub const fn descriptor(&self) -> &DomainDescriptor
Returns the signed immutable domain descriptor.
Sourcepub fn capability_chain(&self) -> &[CapabilityCertificate]
pub fn capability_chain(&self) -> &[CapabilityCertificate]
Returns the validated root-to-leaf capability chain.
pub fn controller_chain(&self) -> &[CapabilityCertificate]
Sourcepub fn domain_seed(&self) -> DomainSeed
pub fn domain_seed(&self) -> DomainSeed
Exports the sensitive current epoch seed for the targeted key-vault import path.
Sourcepub fn encode_canonical(&self) -> Result<Vec<u8>, InvitationError>
pub fn encode_canonical(&self) -> Result<Vec<u8>, InvitationError>
Strictly encodes the signed online invitation payload.
Sourcepub fn decode_canonical(bytes: &[u8]) -> Result<Invitation, InvitationError>
pub fn decode_canonical(bytes: &[u8]) -> Result<Invitation, InvitationError>
Strictly decodes and validates a signed invitation.
Sourcepub fn seal_offline(
&self,
) -> Result<(InvitationTicket, InvitationSecret), InvitationError>
pub fn seal_offline( &self, ) -> Result<(InvitationTicket, InvitationSecret), InvitationError>
Encrypts this invitation into an offline ticket and returns its one-time bearer secret.
Trait Implementations§
Source§impl Clone for Invitation
impl Clone for Invitation
Source§fn clone(&self) -> Invitation
fn clone(&self) -> Invitation
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 moreAuto Trait Implementations§
impl Freeze for Invitation
impl RefUnwindSafe for Invitation
impl Send for Invitation
impl Sync for Invitation
impl Unpin for Invitation
impl UnwindSafe for Invitation
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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