Struct CertifiedKey
pub struct CertifiedKey {
pub cert: Vec<CertificateDer<'static>>,
pub key: Arc<dyn SigningKey>,
pub ocsp: Option<Vec<u8>>,
}tls only.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§
§impl CertifiedKey
impl CertifiedKey
pub fn from_der(
cert_chain: Vec<CertificateDer<'static>>,
key: PrivateKeyDer<'static>,
provider: &CryptoProvider,
) -> Result<CertifiedKey, Error>
pub fn from_der( cert_chain: Vec<CertificateDer<'static>>, key: PrivateKeyDer<'static>, provider: &CryptoProvider, ) -> Result<CertifiedKey, 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.
pub fn new(
cert: Vec<CertificateDer<'static>>,
key: Arc<dyn SigningKey>,
) -> CertifiedKey
pub fn new( cert: Vec<CertificateDer<'static>>, key: Arc<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.
pub 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.
pub fn end_entity_cert(&self) -> Result<&CertificateDer<'_>, Error>
pub fn end_entity_cert(&self) -> Result<&CertificateDer<'_>, Error>
The end-entity certificate.
Trait Implementations§
§impl Clone for CertifiedKey
impl Clone for CertifiedKey
§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 more§impl Debug for CertifiedKey
impl Debug for CertifiedKey
§impl From<CertifiedKey> for SingleCertAndKey
impl From<CertifiedKey> for SingleCertAndKey
§fn from(certified_key: CertifiedKey) -> SingleCertAndKey
fn from(certified_key: CertifiedKey) -> SingleCertAndKey
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more