pub struct X509Extension(/* private fields */);
Expand description
Permit additional fields to be added to an X509
v3 certificate.
Implementations§
Source§impl X509Extension
impl X509Extension
Sourcepub 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
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.
This function is deprecated, X509Extension::new_from_der
or the
types in x509::extension
should be used in its place.
Sourcepub 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
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.
This function is deprecated, X509Extension::new_from_der
or the
types in x509::extension
should be used in its place.
Sourcepub fn new_from_der(
oid: &Asn1ObjectRef,
critical: bool,
der_contents: &Asn1OctetStringRef,
) -> Result<X509Extension, ErrorStack>
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.
Sourcepub 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
pub unsafe fn add_alias(to: Nid, from: Nid) -> Result<(), ErrorStack>
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>§
Sourcepub fn to_der(&self) -> Result<Vec<u8>, ErrorStack>
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
impl AsRef<X509ExtensionRef> for X509Extension
Source§fn as_ref(&self) -> &X509ExtensionRef
fn as_ref(&self) -> &X509ExtensionRef
Source§impl Borrow<X509ExtensionRef> for X509Extension
impl Borrow<X509ExtensionRef> for X509Extension
Source§fn borrow(&self) -> &X509ExtensionRef
fn borrow(&self) -> &X509ExtensionRef
Source§impl Deref for X509Extension
impl Deref for X509Extension
Source§type Target = X509ExtensionRef
type Target = X509ExtensionRef
Source§fn deref(&self) -> &X509ExtensionRef
fn deref(&self) -> &X509ExtensionRef
Source§impl DerefMut for X509Extension
impl DerefMut for X509Extension
Source§fn deref_mut(&mut self) -> &mut X509ExtensionRef
fn deref_mut(&mut self) -> &mut X509ExtensionRef
Source§impl Drop for X509Extension
impl Drop for X509Extension
Source§impl ForeignType for X509Extension
impl ForeignType for X509Extension
Source§type CType = X509_EXTENSION
type CType = X509_EXTENSION
Source§type Ref = X509ExtensionRef
type Ref = X509ExtensionRef
Source§unsafe fn from_ptr(ptr: *mut X509_EXTENSION) -> X509Extension
unsafe fn from_ptr(ptr: *mut X509_EXTENSION) -> X509Extension
Source§fn as_ptr(&self) -> *mut X509_EXTENSION
fn as_ptr(&self) -> *mut X509_EXTENSION
Source§impl Stackable for X509Extension
impl Stackable for X509Extension
Source§type StackType = stack_st_X509_EXTENSION
type StackType = stack_st_X509_EXTENSION
impl Send for X509Extension
impl Sync for X509Extension
Auto Trait Implementations§
impl Freeze for X509Extension
impl RefUnwindSafe for X509Extension
impl Unpin for X509Extension
impl UnwindSafe for X509Extension
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes