pub struct CertifiedKey {
pub cert: Vec<CertificateDer<'static>>,
pub key: Arc<dyn SigningKey>,
pub ocsp: Option<Vec<u8>>,
}
Expand description
A packaged-together certificate chain, matching SigningKey
and
optional stapled OCSP response.
Note: this struct is also used to represent an RFC 7250 raw public key, when the client/server is configured to use raw public keys instead of certificates.
Fields§
§cert: Vec<CertificateDer<'static>>
The certificate chain or raw public key.
key: Arc<dyn SigningKey>
The certified key.
ocsp: Option<Vec<u8>>
An optional OCSP response from the certificate issuer, attesting to its continued validity.
Implementations§
Source§impl CertifiedKey
impl CertifiedKey
Sourcepub fn new(cert: Vec<CertificateDer<'static>>, key: Arc<dyn SigningKey>) -> Self
pub fn new(cert: Vec<CertificateDer<'static>>, key: Arc<dyn SigningKey>) -> Self
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 keys_match(&self) -> Result<(), Error>
pub fn keys_match(&self) -> Result<(), Error>
Verify the consistency of this CertifiedKey
’s public and private keys.
This is done by performing a comparison of SubjectPublicKeyInfo bytes.
Sourcepub fn end_entity_cert(&self) -> Result<&CertificateDer<'_>, Error>
pub fn end_entity_cert(&self) -> Result<&CertificateDer<'_>, Error>
The end-entity certificate.
Trait Implementations§
Source§impl Clone for CertifiedKey
impl Clone for CertifiedKey
Source§fn clone(&self) -> CertifiedKey
fn clone(&self) -> CertifiedKey
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for CertifiedKey
impl !RefUnwindSafe for CertifiedKey
impl Send for CertifiedKey
impl Sync for CertifiedKey
impl Unpin for CertifiedKey
impl !UnwindSafe for CertifiedKey
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 64 bytes