INNER CODE UNIT · Rust

create_hmac

renegade-fi/renegade · crates/api/gossip-api/src/lib.rs:26

pub fn create_hmac<M: Serialize>(req: &M, key: &HmacKey) -> Vec<u8> {
    let buf = bincode::serialize(req).unwrap();
    backfill_trace_field("req_size", buf.len());

    key.compute_mac(&buf)
}

/// Check a signature on a request body with the given key
#[instrument(name = "check_signature", skip_all)]
pub fn check_hmac<M: Serialize>(req: &M, mac: &[u8], key: &HmacKey) -> bool {
    let expected = create_hmac(req, key);
    expected == mac
}

/// The destination to which a request should be sent
pub enum GossipDestination {
    /// To the gossip server
    GossipServer,

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…