(typ: u8, dev_eui: &EUI64, nwk_key: &AES128Key)
| 112 | } |
| 113 | |
| 114 | fn 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)] |
| 130 | pub mod test { |
no test coverage detected