MCPcopy Create free account
hub / github.com/chirpstack/chirpstack / get_js_key

Function get_js_key

lrwn/src/keys.rs:114–127  ·  view source on GitHub ↗
(typ: u8, dev_eui: &EUI64, nwk_key: &AES128Key)

Source from the content-addressed store, hash-verified

112}
113
114fn get_js_key(typ: u8, dev_eui: &EUI64, nwk_key: &AES128Key) -> Result<AES128Key> {
115 let key_bytes = nwk_key.to_bytes();
116 let key = Array::from(key_bytes);
117 let cipher = Aes128::new(&key);
118
119 let mut b: [u8; 16] = [0; 16];
120 b[0] = typ;
121 b[1..9].clone_from_slice(&dev_eui.to_le_bytes());
122
123 let mut block = Block::from(b);
124 cipher.encrypt_block(&mut block);
125
126 Ok(AES128Key::from_slice(&block)?)
127}
128
129#[cfg(test)]
130pub mod test {

Callers 2

get_js_enc_keyFunction · 0.85
get_js_int_keyFunction · 0.85

Calls 2

to_bytesMethod · 0.45
to_le_bytesMethod · 0.45

Tested by

no test coverage detected