Skip to main content

IssuingDistributionPointBuilder

Struct IssuingDistributionPointBuilder 

Source
pub struct IssuingDistributionPointBuilder { /* private fields */ }
Expand description

Fluent builder for an IssuingDistributionPoint extension value (OID 2.5.29.28, RFC 5280 Section 5.2.5).

Set the optional distribution point name and/or the boolean flags, then call build to obtain the DER bytes of the IssuingDistributionPoint SEQUENCE — the content that goes inside the OCTET STRING wrapper in the Extension SEQUENCE.

All boolean flags default to false (omitted in DER per DEFAULT FALSE semantics). The distribution point is optional.

Uses the generated IssuingDistributionPoint type with IMPLICIT-tagged BOOLEAN fields (as specified in RFC 5280).

§Example

use synta_certificate::IssuingDistributionPointBuilder;

let idp_der = IssuingDistributionPointBuilder::new()
    .full_name_uri("http://crl.example.com/ca.crl")
    .only_contains_user_certs(true)
    .build()
    .unwrap();

Implementations§

Source§

impl IssuingDistributionPointBuilder

Source

pub fn new() -> Self

Create a new IssuingDistributionPointBuilder with all fields absent/false.

Source

pub fn full_name_uri(self, uri: &str) -> Self

Set the distribution point to a URI full name.

Source

pub fn full_name_dns(self, dns: &str) -> Self

Set the distribution point to a DNS name full name.

Source

pub fn only_contains_user_certs(self, val: bool) -> Self

Set onlyContainsUserCerts.

Source

pub fn only_contains_cacerts(self, val: bool) -> Self

Set onlyContainsCACerts.

Source

pub fn indirect_crl(self, val: bool) -> Self

Set indirectCRL.

Source

pub fn only_contains_attribute_certs(self, val: bool) -> Self

Set onlyContainsAttributeCerts.

Source

pub fn build(self) -> Result<Vec<u8>, String>

Build the DER-encoded IssuingDistributionPoint SEQUENCE.

Returns Err if the distribution point could not be re-decoded or DER encoding of the final structure fails.

Trait Implementations§

Source§

impl Debug for IssuingDistributionPointBuilder

Source§

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

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

impl Default for IssuingDistributionPointBuilder

Source§

fn default() -> IssuingDistributionPointBuilder

Returns the “default value” for a type. Read more

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> 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, 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.