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
1.0.0const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read more