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 more