kanidm_lib_crypto/
x509_cert.rs

1pub use ::x509_cert::der;
2pub use ::x509_cert::der::pem;
3pub use ::x509_cert::Certificate;
4use crypto_glue::{
5    s256::{Sha256, Sha256Output},
6    traits::Digest,
7};
8
9pub fn x509_public_key_s256(certificate: &Certificate) -> Option<Sha256Output> {
10    let public_key_bytes = certificate
11        .tbs_certificate
12        .subject_public_key_info
13        .subject_public_key
14        .as_bytes()?;
15
16    let mut hasher = Sha256::new();
17    hasher.update(public_key_bytes);
18    Some(hasher.finalize())
19}