pingora_boringssl::x509

Struct X509Extension

Source
pub struct X509Extension(/* private fields */);
Expand description

Permit additional fields to be added to an X509 v3 certificate.

Implementations§

Source§

impl X509Extension

Source

pub fn new( conf: Option<&ConfRef>, context: Option<&X509v3Context<'_>>, name: &str, value: &str, ) -> Result<X509Extension, ErrorStack>

Constructs an X509 extension value. See man x509v3_config for information on supported names and their value formats.

Some extension types, such as subjectAlternativeName, require an X509v3Context to be provided.

DO NOT CALL THIS WITH UNTRUSTED value: value is an OpenSSL mini-language that can read arbitrary files.

See the extension module for builder types which will construct certain common extensions.

Source

pub fn new_nid( conf: Option<&ConfRef>, context: Option<&X509v3Context<'_>>, name: Nid, value: &str, ) -> Result<X509Extension, ErrorStack>

Constructs an X509 extension value. See man x509v3_config for information on supported extensions and their value formats.

Some extension types, such as nid::SUBJECT_ALTERNATIVE_NAME, require an X509v3Context to be provided.

DO NOT CALL THIS WITH UNTRUSTED value: value is an OpenSSL mini-language that can read arbitrary files.

See the extension module for builder types which will construct certain common extensions.

Methods from Deref<Target = X509ExtensionRef>§

Source

pub fn to_der(&self) -> Result<Vec<u8>, ErrorStack>

Serializes the Extension to its standard DER encoding.

Trait Implementations§

Source§

impl AsMut<X509ExtensionRef> for X509Extension

Source§

fn as_mut(&mut self) -> &mut X509ExtensionRef

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl AsRef<X509ExtensionRef> for X509Extension

Source§

fn as_ref(&self) -> &X509ExtensionRef

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<X509ExtensionRef> for X509Extension

Source§

fn borrow(&self) -> &X509ExtensionRef

Immutably borrows from an owned value. Read more
Source§

impl BorrowMut<X509ExtensionRef> for X509Extension

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl Deref for X509Extension

Source§

type Target = X509ExtensionRef

The resulting type after dereferencing.
Source§

fn deref(&self) -> &X509ExtensionRef

Dereferences the value.
Source§

impl DerefMut for X509Extension

Source§

fn deref_mut(&mut self) -> &mut X509ExtensionRef

Mutably dereferences the value.
Source§

impl Drop for X509Extension

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl ForeignType for X509Extension

Source§

type CType = X509_extension_st

The raw C type.
Source§

type Ref = X509ExtensionRef

The type representing a reference to this type.
Source§

unsafe fn from_ptr(ptr: *mut X509_extension_st) -> X509Extension

Constructs an instance of this type from its raw type. Read more
Source§

fn as_ptr(&self) -> *mut X509_extension_st

Returns a raw pointer to the wrapped value.
Source§

fn into_ptr(self) -> *mut Self::CType

Consumes the wrapper and returns the raw pointer.
Source§

impl Stackable for X509Extension

Source§

type StackType = stack_st_X509_EXTENSION

The C stack type for this element. Read more
Source§

impl Send for X509Extension

Source§

impl Sync for X509Extension

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.