MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / sign

Method sign

nodedb-crdt/src/signing.rs:205–214  ·  view source on GitHub ↗

Sign delta bytes for a specific device and sequence number. HMAC input canonical layout: `delta_bytes || user_id.to_le_bytes(8) || device_id.to_le_bytes(8) || seq_no.to_le_bytes(8)`

(
        &self,
        user_id: u64,
        device_id: u64,
        seq_no: u64,
        delta_bytes: &[u8],
    )

Source from the content-addressed store, hash-verified

203 /// HMAC input canonical layout:
204 /// `delta_bytes || user_id.to_le_bytes(8) || device_id.to_le_bytes(8) || seq_no.to_le_bytes(8)`
205 pub fn sign(
206 &self,
207 user_id: u64,
208 device_id: u64,
209 seq_no: u64,
210 delta_bytes: &[u8],
211 ) -> Result<[u8; SIGNATURE_SIZE]> {
212 let key = self.device_key(user_id, device_id)?;
213 Ok(compute_hmac(&key, user_id, device_id, seq_no, delta_bytes))
214 }
215
216 /// Verify a delta signature. Returns Ok(()) if valid.
217 ///

Callers 8

hmac_golden_vectorFunction · 0.80
unregistered_user_failsFunction · 0.80
rs256_roundtripFunction · 0.80
rs256_wrong_key_rejectedFunction · 0.80

Calls 2

device_keyMethod · 0.80
compute_hmacFunction · 0.70

Tested by 8

hmac_golden_vectorFunction · 0.64
unregistered_user_failsFunction · 0.64
rs256_roundtripFunction · 0.64
rs256_wrong_key_rejectedFunction · 0.64