Struct openssl::x509::X509StoreContextRef
source · [−]pub struct X509StoreContextRef(_);
Expand description
Reference to X509StoreContext
.
Implementations
sourceimpl X509StoreContextRef
impl X509StoreContextRef
sourcepub fn ex_data<T>(&self, index: Index<X509StoreContext, T>) -> Option<&T>
pub fn ex_data<T>(&self, index: Index<X509StoreContext, T>) -> Option<&T>
Returns application data pertaining to an X509
store context.
This corresponds to X509_STORE_CTX_get_ex_data
.
sourcepub fn error(&self) -> X509VerifyResult
pub fn error(&self) -> X509VerifyResult
Returns the error code of the context.
This corresponds to X509_STORE_CTX_get_error
.
sourcepub fn init<F, T>(
&mut self,
trust: &X509StoreRef,
cert: &X509Ref,
cert_chain: &StackRef<X509>,
with_context: F
) -> Result<T, ErrorStack> where
F: FnOnce(&mut X509StoreContextRef) -> Result<T, ErrorStack>,
pub fn init<F, T>(
&mut self,
trust: &X509StoreRef,
cert: &X509Ref,
cert_chain: &StackRef<X509>,
with_context: F
) -> Result<T, ErrorStack> where
F: FnOnce(&mut X509StoreContextRef) -> Result<T, ErrorStack>,
Initializes this context with the given certificate, certificates chain and certificate
store. After initializing the context, the with_context
closure is called with the prepared
context. As long as the closure is running, the context stays initialized and can be used
to e.g. verify a certificate. The context will be cleaned up, after the closure finished.
trust
- The certificate store with the trusted certificates.cert
- The certificate that should be verified.cert_chain
- The certificates chain.with_context
- The closure that is called with the initialized context.
This corresponds to X509_STORE_CTX_init
before calling with_context
and to
X509_STORE_CTX_cleanup
after calling with_context
.
sourcepub fn verify_cert(&mut self) -> Result<bool, ErrorStack>
pub fn verify_cert(&mut self) -> Result<bool, ErrorStack>
Verifies the stored certificate.
Returns true
if verification succeeds. The error
method will return the specific
validation error if the certificate was not valid.
This will only work inside of a call to init
.
This corresponds to X509_verify_cert
.
sourcepub fn set_error(&mut self, result: X509VerifyResult)
pub fn set_error(&mut self, result: X509VerifyResult)
Set the error code of the context.
This corresponds to X509_STORE_CTX_set_error
.
sourcepub fn current_cert(&self) -> Option<&X509Ref>
pub fn current_cert(&self) -> Option<&X509Ref>
Returns a reference to the certificate which caused the error or None if no certificate is relevant to the error.
This corresponds to X509_STORE_CTX_get_current_cert
.
sourcepub fn error_depth(&self) -> u32
pub fn error_depth(&self) -> u32
Returns a non-negative integer representing the depth in the certificate chain where the error occurred. If it is zero it occurred in the end entity certificate, one if it is the certificate which signed the end entity certificate and so on.
This corresponds to X509_STORE_CTX_get_error_depth
.
Trait Implementations
sourceimpl AsRef<X509StoreContextRef> for X509StoreContext
impl AsRef<X509StoreContextRef> for X509StoreContext
sourcefn as_ref(&self) -> &X509StoreContextRef
fn as_ref(&self) -> &X509StoreContextRef
Converts this type into a shared reference of the (usually inferred) input type.
sourceimpl Borrow<X509StoreContextRef> for X509StoreContext
impl Borrow<X509StoreContextRef> for X509StoreContext
sourcefn borrow(&self) -> &X509StoreContextRef
fn borrow(&self) -> &X509StoreContextRef
Immutably borrows from an owned value. Read more
sourceimpl ForeignTypeRef for X509StoreContextRef
impl ForeignTypeRef for X509StoreContextRef
type CType = X509_STORE_CTX
type CType = X509_STORE_CTX
The raw C type.
sourceunsafe fn from_ptr<'a>(ptr: *mut Self::CType) -> &'a Self
unsafe fn from_ptr<'a>(ptr: *mut Self::CType) -> &'a Self
Constructs a shared instance of this type from its raw type.
sourceunsafe fn from_ptr_mut<'a>(ptr: *mut Self::CType) -> &'a mut Self
unsafe fn from_ptr_mut<'a>(ptr: *mut Self::CType) -> &'a mut Self
Constructs a mutable reference of this type from its raw type.
impl Send for X509StoreContextRef
impl Sync for X509StoreContextRef
Auto Trait Implementations
impl !RefUnwindSafe for X509StoreContextRef
impl Unpin for X509StoreContextRef
impl UnwindSafe for X509StoreContextRef
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more