kanidm_lib_crypto/
x509_cert.rs
1use crate::Sha256Digest;
2
3pub use ::x509_cert::der;
4pub use ::x509_cert::der::pem;
5pub use ::x509_cert::Certificate;
6
7use ::sha2::{Digest, Sha256};
8
9pub fn x509_public_key_s256(certificate: &Certificate) -> Option<Sha256Digest> {
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}