openssl::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>

👎Deprecated since 0.10.51: Use x509::extension types or new_from_der instead

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.

This function is deprecated, X509Extension::new_from_der or the types in x509::extension should be used in its place.

source

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

👎Deprecated since 0.10.51: Use x509::extension types or new_from_der instead

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.

This function is deprecated, X509Extension::new_from_der or the types in x509::extension should be used in its place.

source

pub fn new_from_der( oid: &Asn1ObjectRef, critical: bool, der_contents: &Asn1OctetStringRef, ) -> Result<X509Extension, ErrorStack>

Constructs a new X509 extension value from its OID, whether it’s critical, and its DER contents.

The extent structure of the DER value will vary based on the extension type, and can generally be found in the RFC defining the extension.

For common extension types, there are Rust APIs provided in openssl::x509::extensions which are more ergonomic.

source

pub unsafe fn add_alias(to: Nid, from: Nid) -> Result<(), ErrorStack>

👎Deprecated since 0.10.51: Use x509::extension types or new_from_der and then this is not necessary

Adds an alias for an extension

§Safety

This method modifies global state without locking and therefore is not thread safe

This corresponds to X509V3_EXT_add_alias.

Methods from Deref<Target = X509ExtensionRef>§

source

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

Serializes the Extension to its standard DER encoding.

This corresponds to i2d_X509_EXTENSION.

Trait Implementations§

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

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) -> X509Extension

Constructs an instance of this type from its raw type.
source§

fn as_ptr(&self) -> *mut X509_EXTENSION

Returns a raw pointer to the wrapped value.
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.