INNER CODE UNIT · Rust
derive_fingerprint
AChep/keyguard-app · commonAgent/src/lib.rs:229
fn derive_fingerprint(
outer_domain: &[u8],
evidence_domain: &[u8],
canonical_evidence: &[u8],
) -> [u8; PRINCIPAL_FINGERPRINT_LEN] {
let mut digest = Sha256::new();
digest.update(outer_domain);
digest.update((evidence_domain.len() as u64).to_be_bytes());
digest.update(evidence_domain);
digest.update((canonical_evidence.len() as u64).to_be_bytes());
digest.update(canonical_evidence);
digest.finalize().into()
}
/// Failures while constructing trusted caller identity primitives.
#[derive(Debug, Error)]
pub enum IdentityError {
/// The operating system CSPRNG failed.