Skip to main content

SecurityPolicy

Struct SecurityPolicy 

Source
pub struct SecurityPolicy {
    pub constant_time: ConstantTimePolicy,
    pub allow_legacy_algorithms: bool,
    pub allow_sha1_signatures: bool,
}
Expand description

User-tunable security policy switches paired with a Profile.

Fields§

§constant_time: ConstantTimePolicy

Timing-hardening mode derived from Cargo features or parsed configuration.

§allow_legacy_algorithms: bool

Whether legacy algorithms may be used when allowed by build policy.

§allow_sha1_signatures: bool

Whether SHA-1 signatures may be accepted when allowed by build policy.

Implementations§

Source§

impl SecurityPolicy

Source

pub fn compiled() -> Self

Builds a SecurityPolicy from active Cargo feature flags at compile time.

§Arguments

This function takes no parameters.

§Returns

A policy struct whose fields reflect cfg!(feature = ...) for constant-time, legacy, and SHA-1 modes.

§Panics

This function does not panic.

Source

pub fn validate(self) -> Result<()>

Ensures policy flags are internally consistent (for example, strict constant-time vs legacy modes).

§Arguments
  • self — Policy snapshot to validate.
§Returns

Ok(()) when all invariants hold.

§Errors

Returns Error::UnsupportedFeature when strict constant-time is combined with disallowed legacy or SHA-1 modes.

§Panics

This function does not panic.

Trait Implementations§

Source§

impl Clone for SecurityPolicy

Source§

fn clone(&self) -> SecurityPolicy

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SecurityPolicy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for SecurityPolicy

Source§

fn eq(&self, other: &SecurityPolicy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for SecurityPolicy

Source§

impl Eq for SecurityPolicy

Source§

impl StructuralPartialEq for SecurityPolicy

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.