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 from_der(
cert_chain: Vec<CertificateDer<'static>>,
key: PrivateKeyDer<'static>,
provider: &CryptoProvider,
) -> Result<Self, Error>
pub fn from_der( cert_chain: Vec<CertificateDer<'static>>, key: PrivateKeyDer<'static>, provider: &CryptoProvider, ) -> Result<Self, Error>
Create a new CertifiedKey
from a certificate chain and DER-encoded private key.
Attempt to parse the private key with the given CryptoProvider
’s KeyProvider
and
verify that it matches the public key in the first certificate of the cert_chain
if possible.
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 moreSource§impl Debug for CertifiedKey
impl Debug for CertifiedKey
Source§impl From<CertifiedKey> for SingleCertAndKey
impl From<CertifiedKey> for SingleCertAndKey
Source§fn from(certified_key: CertifiedKey) -> Self
fn from(certified_key: CertifiedKey) -> Self
Auto 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