Struct openssl::x509::X509StoreContext [−][src]
An X509
certificate store context.
Implementations
impl X509StoreContext
[src]
pub fn ssl_idx() -> Result<Index<X509StoreContext, SslRef>, ErrorStack>
[src]
Returns the index which can be used to obtain a reference to the Ssl
associated with a
context.
pub fn new() -> Result<X509StoreContext, ErrorStack>
[src]
Creates a new X509StoreContext
instance.
This corresponds to X509_STORE_CTX_new
.
Methods from Deref<Target = X509StoreContextRef>
pub fn ex_data<T>(&self, index: Index<X509StoreContext, T>) -> Option<&T>
[src]
Returns application data pertaining to an X509
store context.
This corresponds to X509_STORE_CTX_get_ex_data
.
pub fn error(&self) -> X509VerifyResult
[src]
Returns the error code of the context.
This corresponds to X509_STORE_CTX_get_error
.
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>,
[src]
&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
.
pub fn verify_cert(&mut self) -> Result<bool, ErrorStack>
[src]
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
.
pub fn set_error(&mut self, result: X509VerifyResult)
[src]
Set the error code of the context.
This corresponds to X509_STORE_CTX_set_error
.
pub fn current_cert(&self) -> Option<&X509Ref>
[src]
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
.
pub fn error_depth(&self) -> u32
[src]
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
.
pub fn chain(&self) -> Option<&StackRef<X509>>
[src]
Returns a reference to a complete valid X509
certificate chain.
This corresponds to X509_STORE_CTX_get0_chain
.
Trait Implementations
impl AsRef<X509StoreContextRef> for X509StoreContext
[src]
fn as_ref(&self) -> &X509StoreContextRef
[src]
impl Borrow<X509StoreContextRef> for X509StoreContext
[src]
fn borrow(&self) -> &X509StoreContextRef
[src]
impl Deref for X509StoreContext
[src]
type Target = X509StoreContextRef
The resulting type after dereferencing.
fn deref(&self) -> &X509StoreContextRef
[src]
impl DerefMut for X509StoreContext
[src]
fn deref_mut(&mut self) -> &mut X509StoreContextRef
[src]
impl Drop for X509StoreContext
[src]
impl ForeignType for X509StoreContext
[src]
type CType = X509_STORE_CTX
The raw C type.
type Ref = X509StoreContextRef
The type representing a reference to this type.
unsafe fn from_ptr(ptr: *mut X509_STORE_CTX) -> X509StoreContext
[src]
fn as_ptr(&self) -> *mut X509_STORE_CTX
[src]
impl Send for X509StoreContext
[src]
impl Sync for X509StoreContext
[src]
Auto Trait Implementations
impl RefUnwindSafe for X509StoreContext
impl Unpin for X509StoreContext
impl UnwindSafe for X509StoreContext
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,