Struct rustls::sign::CertifiedKey
source · [−]pub struct CertifiedKey {
pub cert: Vec<Certificate>,
pub key: Arc<Box<dyn SigningKey>>,
pub ocsp: Option<Vec<u8>>,
pub sct_list: Option<Vec<u8>>,
}Expand description
A packaged-together certificate chain, matching SigningKey and
optional stapled OCSP response and/or SCT list.
Fields
cert: Vec<Certificate>The certificate chain.
key: Arc<Box<dyn SigningKey>>The certified key.
ocsp: Option<Vec<u8>>An optional OCSP response from the certificate issuer, attesting to its continued validity.
sct_list: Option<Vec<u8>>An optional collection of SCTs from CT logs, proving the
certificate is included on those logs. This must be
a SignedCertificateTimestampList encoding; see RFC6962.
Implementations
sourceimpl CertifiedKey
impl CertifiedKey
sourcepub fn new(
cert: Vec<Certificate>,
key: Arc<Box<dyn SigningKey>>
) -> CertifiedKey
pub fn new(
cert: Vec<Certificate>,
key: Arc<Box<dyn SigningKey>>
) -> CertifiedKey
Make a new CertifiedKey, with the given chain and key.
The cert chain must not be empty. The first certificate in the chain must be the end-entity certificate.
sourcepub fn end_entity_cert(&self) -> Result<&Certificate, ()>
pub fn end_entity_cert(&self) -> Result<&Certificate, ()>
The end-entity certificate.
sourcepub fn take_cert(&mut self) -> Vec<Certificate>
pub fn take_cert(&mut self) -> Vec<Certificate>
Steal ownership of the certificate chain.
sourcepub fn has_sct_list(&self) -> bool
pub fn has_sct_list(&self) -> bool
Return true if there’s an SCT list.
sourcepub fn take_sct_list(&mut self) -> Option<Vec<u8>>
pub fn take_sct_list(&mut self) -> Option<Vec<u8>>
Steal ownership of the SCT list.
sourcepub fn cross_check_end_entity_cert(
&self,
name: Option<DNSNameRef<'_>>
) -> Result<(), TLSError>
pub fn cross_check_end_entity_cert(
&self,
name: Option<DNSNameRef<'_>>
) -> Result<(), TLSError>
Check the certificate chain for validity:
- it should be non-empty list
- the first certificate should be parsable as a x509v3,
- the first certificate should quote the given server name (if provided)
These checks are not security-sensitive. They are the server attempting to detect accidental misconfiguration.
Trait Implementations
sourceimpl Clone for CertifiedKey
impl Clone for CertifiedKey
sourcefn clone(&self) -> CertifiedKey
fn clone(&self) -> CertifiedKey
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
Auto Trait Implementations
impl !RefUnwindSafe for CertifiedKey
impl Send for CertifiedKey
impl Sync for CertifiedKey
impl Unpin for CertifiedKey
impl !UnwindSafe for CertifiedKey
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
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more