pub struct ActorCapabilities(/* private fields */);Expand description
Capabilities for an actor certificate.
This newtype wraps Capabilities and guarantees that the contained
capabilities satisfy all actor-specific constraints (non-CA, signing
capability present). Use ActorCapabilities::try_new to construct one
from arbitrary Capabilities, or ActorCapabilities::default for
the standard actor defaults.
Implementations§
Source§impl ActorCapabilities
impl ActorCapabilities
Sourcepub fn try_new(key_usages: KeyUsages) -> Result<Self, ConstraintError>
pub fn try_new(key_usages: KeyUsages) -> Result<Self, ConstraintError>
Creates actor capabilities from key usages.
CA flag is always false for actors, and path_length is always
None.
§Errors
Returns a crate::errors::ConstraintError if the capabilities are
not valid for an actor (e.g. signing capability missing).
Methods from Deref<Target = Capabilities>§
Sourcepub fn validate(&self) -> Result<(), ConstraintError>
pub fn validate(&self) -> Result<(), ConstraintError>
Validates that these capabilities are well-formed according to X.509 and polyproto constraints. This validation is target-independent.
§Errors
Returns a crate::errors::ConstraintError if the capabilities are malformed.
Sourcepub fn validate_for_actor(&self) -> Result<(), ConstraintError>
pub fn validate_for_actor(&self) -> Result<(), ConstraintError>
Validates that these capabilities are correct for an actor certificate.
In addition to the base validation, this checks:
- The
CAflag must befalse - Must have
DigitalSignatureorContentCommitment - Must not have
KeyCertSign
§Errors
Returns a crate::errors::ConstraintError if the capabilities are not valid for an actor.
Sourcepub fn validate_for_home_server(&self) -> Result<(), ConstraintError>
pub fn validate_for_home_server(&self) -> Result<(), ConstraintError>
Validates that these capabilities are correct for a home server certificate.
In addition to the base validation, this checks:
- The
CAflag must betrue - Must have
KeyCertSign
§Errors
Returns a crate::errors::ConstraintError if the capabilities are not valid for a home server.
Trait Implementations§
Source§impl Clone for ActorCapabilities
impl Clone for ActorCapabilities
Source§fn clone(&self) -> ActorCapabilities
fn clone(&self) -> ActorCapabilities
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ActorCapabilities
impl Debug for ActorCapabilities
Source§impl Default for ActorCapabilities
impl Default for ActorCapabilities
Source§impl Deref for ActorCapabilities
impl Deref for ActorCapabilities
impl Eq for ActorCapabilities
Source§impl From<ActorCapabilities> for Capabilities
impl From<ActorCapabilities> for Capabilities
Source§fn from(value: ActorCapabilities) -> Self
fn from(value: ActorCapabilities) -> Self
Source§impl Hash for ActorCapabilities
impl Hash for ActorCapabilities
Source§impl Ord for ActorCapabilities
impl Ord for ActorCapabilities
Source§fn cmp(&self, other: &ActorCapabilities) -> Ordering
fn cmp(&self, other: &ActorCapabilities) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ActorCapabilities
impl PartialEq for ActorCapabilities
Source§fn eq(&self, other: &ActorCapabilities) -> bool
fn eq(&self, other: &ActorCapabilities) -> bool
self and other values to be equal, and is used by ==.