pub trait CapabilityAuthority: Send + Sync {
// Required methods
fn authority_public_key(&self) -> PublicKey;
fn issue_capability(
&self,
subject: &PublicKey,
scope: ChioScope,
ttl_seconds: u64,
) -> Result<CapabilityToken, KernelError>;
// Provided methods
fn trusted_public_keys(&self) -> Vec<PublicKey> { ... }
fn issue_capability_with_attestation(
&self,
subject: &PublicKey,
scope: ChioScope,
ttl_seconds: u64,
_runtime_attestation: Option<RuntimeAttestationEvidence>,
) -> Result<CapabilityToken, KernelError> { ... }
}Required Methods§
fn issue_capability( &self, subject: &PublicKey, scope: ChioScope, ttl_seconds: u64, ) -> Result<CapabilityToken, KernelError>
Provided Methods§
fn trusted_public_keys(&self) -> Vec<PublicKey>
fn issue_capability_with_attestation( &self, subject: &PublicKey, scope: ChioScope, ttl_seconds: u64, _runtime_attestation: Option<RuntimeAttestationEvidence>, ) -> Result<CapabilityToken, KernelError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".