kanidm/libs/crypto/src/x509_cert.rs
Firstyear bd6d9284c0
20240607 2417 piv (#2829)
Add some more ground work for future PIV/x509 authentication.
2024-06-11 00:54:57 +00:00

20 lines
481 B
Rust

use crate::Sha256Digest;
pub use ::x509_cert::der;
pub use ::x509_cert::der::pem;
pub use ::x509_cert::Certificate;
use ::sha2::{Digest, Sha256};
pub fn x509_public_key_s256(certificate: &Certificate) -> Option<Sha256Digest> {
let public_key_bytes = certificate
.tbs_certificate
.subject_public_key_info
.subject_public_key
.as_bytes()?;
let mut hasher = Sha256::new();
hasher.update(public_key_bytes);
Some(hasher.finalize())
}