Struct X509Builder
pub struct X509Builder(/* private fields */);Expand description
A builder used to construct an X509.
Implementations§
§impl X509Builder
impl X509Builder
pub fn new() -> Result<X509Builder, ErrorStack>
pub fn new() -> Result<X509Builder, ErrorStack>
Creates a new builder.
This corresponds to X509_new.
pub fn set_not_after(
&mut self,
not_after: &Asn1TimeRef,
) -> Result<(), ErrorStack>
pub fn set_not_after( &mut self, not_after: &Asn1TimeRef, ) -> Result<(), ErrorStack>
Sets the notAfter constraint on the certificate.
This corresponds to X509_set1_notAfter.
pub fn set_not_before(
&mut self,
not_before: &Asn1TimeRef,
) -> Result<(), ErrorStack>
pub fn set_not_before( &mut self, not_before: &Asn1TimeRef, ) -> Result<(), ErrorStack>
Sets the notBefore constraint on the certificate.
This corresponds to X509_set1_notBefore.
pub fn set_version(&mut self, version: i32) -> Result<(), ErrorStack>
pub fn set_version(&mut self, version: i32) -> Result<(), ErrorStack>
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.
This corresponds to X509_set_version.
pub fn set_serial_number(
&mut self,
serial_number: &Asn1IntegerRef,
) -> Result<(), ErrorStack>
pub fn set_serial_number( &mut self, serial_number: &Asn1IntegerRef, ) -> Result<(), ErrorStack>
Sets the serial number of the certificate.
This corresponds to X509_set_serialNumber.
pub fn set_issuer_name(
&mut self,
issuer_name: &X509NameRef,
) -> Result<(), ErrorStack>
pub fn set_issuer_name( &mut self, issuer_name: &X509NameRef, ) -> Result<(), ErrorStack>
Sets the issuer name of the certificate.
This corresponds to X509_set_issuer_name.
pub fn set_subject_name(
&mut self,
subject_name: &X509NameRef,
) -> Result<(), ErrorStack>
pub fn set_subject_name( &mut self, subject_name: &X509NameRef, ) -> Result<(), ErrorStack>
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 rama_boring::x509::{X509, X509NameBuilder};
let mut x509_name = rama_boring::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 = rama_boring::x509::X509::builder().unwrap();
x509.set_subject_name(&x509_name).unwrap();This corresponds to X509_set_subject_name.
pub fn set_pubkey<T>(&mut self, key: &PKeyRef<T>) -> Result<(), ErrorStack>where
T: HasPublic,
pub fn set_pubkey<T>(&mut self, key: &PKeyRef<T>) -> Result<(), ErrorStack>where
T: HasPublic,
Sets the public key associated with the certificate.
This corresponds to X509_set_pubkey.
pub fn x509v3_context<'a>(
&'a self,
issuer: Option<&'a X509Ref>,
conf: Option<&'a ConfRef>,
) -> X509v3Context<'a>
pub fn x509v3_context<'a>( &'a self, issuer: Option<&'a X509Ref>, conf: Option<&'a ConfRef>, ) -> X509v3Context<'a>
Returns a context object which is needed to create certain X509 extension values.
Set issuer to None if the certificate will be self-signed.
This corresponds to X509V3_set_ctx.
pub fn append_extension(
&mut self,
extension: &X509ExtensionRef,
) -> Result<(), ErrorStack>
pub fn append_extension( &mut self, extension: &X509ExtensionRef, ) -> Result<(), ErrorStack>
Adds an X509 extension value to the certificate.
This corresponds to X509_add_ext.
pub fn sign<T>(
&mut self,
key: &PKeyRef<T>,
hash: MessageDigest,
) -> Result<(), ErrorStack>where
T: HasPrivate,
pub fn sign<T>(
&mut self,
key: &PKeyRef<T>,
hash: MessageDigest,
) -> Result<(), ErrorStack>where
T: HasPrivate,
Signs the certificate with a private key.
This corresponds to X509_sign.
Auto Trait Implementations§
impl Freeze for X509Builder
impl RefUnwindSafe for X509Builder
impl Send for X509Builder
impl Sync for X509Builder
impl Unpin for X509Builder
impl UnsafeUnpin for X509Builder
impl UnwindSafe for X509Builder
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more