#[non_exhaustive]pub struct RcacParams {
pub rcac_id: u64,
pub public_key: PublicKey,
pub serial: Vec<u8>,
pub not_before: MatterTime,
pub not_after: MatterTime,
pub path_len: Option<u8>,
}Expand description
Parameters for rcac.
#[non_exhaustive]: future spec-driven RCAC fields (e.g. an optional
CommonName) should be addable without breaking existing callers.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.rcac_id: u64The Matter Root CA Identifier (subject/issuer DN RcacId attribute).
public_key: PublicKeyThe root’s own EC P-256 public key.
serial: Vec<u8>Certificate serial number (1..=20 raw bytes per spec §6.5.1).
not_before: MatterTimeStart of the validity window.
not_after: MatterTimeEnd of the validity window (MatterTime::NO_EXPIRY for none).
path_len: Option<u8>BasicConstraints.pathLen for this root. The RCAC profile
(spec §6.5.5) recommends Some(1); pass None for no constraint.
Implementations§
Source§impl RcacParams
impl RcacParams
Sourcepub fn new(
rcac_id: u64,
public_key: PublicKey,
serial: Vec<u8>,
not_before: MatterTime,
not_after: MatterTime,
path_len: Option<u8>,
) -> Self
pub fn new( rcac_id: u64, public_key: PublicKey, serial: Vec<u8>, not_before: MatterTime, not_after: MatterTime, path_len: Option<u8>, ) -> Self
Construct params for rcac from explicit field values.
RcacParams is #[non_exhaustive], so Rust forbids building one
via struct-literal syntax from outside matter-cert — even when
every field is supplied (rustc --explain E0639). This associated
function is the sanctioned workaround for external callers; code
inside matter-cert can still use struct-literal syntax directly.
Trait Implementations§
Source§impl Clone for RcacParams
impl Clone for RcacParams
Source§fn clone(&self) -> RcacParams
fn clone(&self) -> RcacParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more