[][src]Struct openssl::x509::X509Builder

pub struct X509Builder(_);

A builder used to construct an X509.

Methods

impl X509Builder[src]

pub fn new() -> Result<X509Builder, ErrorStack>[src]

Creates a new builder.

pub fn set_not_after(
    &mut self,
    not_after: &Asn1TimeRef
) -> Result<(), ErrorStack>
[src]

Sets the notAfter constraint on the certificate.

pub fn set_not_before(
    &mut self,
    not_before: &Asn1TimeRef
) -> Result<(), ErrorStack>
[src]

Sets the notBefore constraint on the certificate.

pub fn set_version(&mut self, version: i32) -> Result<(), ErrorStack>[src]

Sets the version of the certificate.

Note that the version is zero-indexed; that is, a certificate corresponding to version 3 of the X.509 standard should pass 2 to this method.

pub fn set_serial_number(
    &mut self,
    serial_number: &Asn1IntegerRef
) -> Result<(), ErrorStack>
[src]

Sets the serial number of the certificate.

pub fn set_issuer_name(
    &mut self,
    issuer_name: &X509NameRef
) -> Result<(), ErrorStack>
[src]

Sets the issuer name of the certificate.

pub fn set_subject_name(
    &mut self,
    subject_name: &X509NameRef
) -> Result<(), ErrorStack>
[src]

Sets the subject name of the certificate.

When building certificates, the C, ST, and O options are common when using the openssl command line tools. The CN field is used for the common name, such as a DNS name.

use openssl::x509::{X509, X509NameBuilder};

let mut x509_name = openssl::x509::X509NameBuilder::new().unwrap();
x509_name.append_entry_by_text("C", "US").unwrap();
x509_name.append_entry_by_text("ST", "CA").unwrap();
x509_name.append_entry_by_text("O", "Some organization").unwrap();
x509_name.append_entry_by_text("CN", "www.example.com").unwrap();
let x509_name = x509_name.build();

let mut x509 = openssl::x509::X509::builder().unwrap();
x509.set_subject_name(&x509_name).unwrap();

pub fn set_pubkey<T>(&mut self, key: &PKeyRef<T>) -> Result<(), ErrorStack> where
    T: HasPublic
[src]

Sets the public key associated with the certificate.

pub fn x509v3_context<'a>(
    &'a self,
    issuer: Option<&'a X509Ref>,
    conf: Option<&'a ConfRef>
) -> X509v3Context<'a>
[src]

Returns a context object which is needed to create certain X509 extension values.

Set issuer to None if the certificate will be self-signed.

pub fn append_extension(
    &mut self,
    extension: X509Extension
) -> Result<(), ErrorStack>
[src]

Adds an X509 extension value to the certificate.

pub fn sign<T>(
    &mut self,
    key: &PKeyRef<T>,
    hash: MessageDigest
) -> Result<(), ErrorStack> where
    T: HasPrivate
[src]

Signs the certificate with a private key.

pub fn build(self) -> X509[src]

Consumes the builder, returning the certificate.

Auto Trait Implementations

impl Send for X509Builder

impl Unpin for X509Builder

impl Sync for X509Builder

impl UnwindSafe for X509Builder

impl RefUnwindSafe for X509Builder

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]