Skip to content
This repository was archived by the owner on Mar 30, 2025. It is now read-only.

Commit ce379b4

Browse files
committed
Update aes and block-modes crates.
1 parent 93f0f3e commit ce379b4

File tree

2 files changed

+14
-17
lines changed

2 files changed

+14
-17
lines changed

Cargo.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mles-webproxy"
3-
version = "0.8.6"
3+
version = "0.8.7"
44
authors = ["jq-rs"]
55
edition = "2018"
66

@@ -14,7 +14,6 @@ mles-utils = "1.1.0"
1414
bytes = "0.4"
1515
x509-parser = "0.7"
1616
blake2 = "0.9"
17-
aes-ctr = "0.4"
18-
aes = "0.5"
19-
block-modes = "0.6"
17+
aes = { version = "0.7", features = ["ctr"] }
18+
block-modes = "0.8"
2019
base64 = "0.12"

src/main.rs

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,16 @@ use tokio_io::codec::{Decoder as TokioDecoder, Encoder as TokioEncoder};
2727
use std::collections::HashMap;
2828
use std::str::FromStr;
2929

30-
use aes::block_cipher::generic_array::GenericArray;
31-
use aes::Aes128;
30+
use aes::cipher::generic_array::GenericArray;
31+
use aes::cipher::{NewCipher,StreamCipher};
32+
use aes::{Aes128, Aes128Ctr};
3233
use blake2::{Blake2s, Digest};
3334
use block_modes::block_padding::Pkcs7;
3435
use block_modes::{BlockMode, Ecb};
3536
type Aes128Ecb = Ecb<Aes128, Pkcs7>;
3637

3738
use base64::{decode as b64decode, encode as b64encode};
3839

39-
use aes_ctr::stream_cipher::{NewStreamCipher, SyncStreamCipher};
40-
use aes_ctr::Aes128Ctr;
41-
4240
use mles_utils::*;
4341
use std::time::Duration;
4442
use tokio::timer::Interval;
@@ -457,7 +455,7 @@ fn run_websocket_proxy(
457455
let duid;
458456
let dchannel;
459457
if let Ok(uid) = b64decode(uid) {
460-
let cipher = Aes128Ecb::new_var(aesecbkey, Default::default()).unwrap();
458+
let cipher = Aes128Ecb::new_from_slices(aesecbkey, Default::default()).unwrap();
461459
if let Ok(uid) = cipher.decrypt_vec(&uid) {
462460
duid = uid;
463461
} else {
@@ -467,7 +465,7 @@ fn run_websocket_proxy(
467465
return Ok(());
468466
}
469467
if let Ok(channel) = b64decode(channel) {
470-
let cipher = Aes128Ecb::new_var(aesecbkey, Default::default()).unwrap();
468+
let cipher = Aes128Ecb::new_from_slices(aesecbkey, Default::default()).unwrap();
471469
if let Ok(channel) = cipher.decrypt_vec(&channel) {
472470
dchannel = channel;
473471
} else {
@@ -552,9 +550,9 @@ fn run_websocket_proxy(
552550
let aeskey = GenericArray::from_slice(&aeschannel_ecb_locked.0);
553551
let aesecbkey = &aeschannel_ecb_locked.1;
554552

555-
let cipher = Aes128Ecb::new_var(&aesecbkey, Default::default()).unwrap();
553+
let cipher = Aes128Ecb::new_from_slices(&aesecbkey, Default::default()).unwrap();
556554
let cuid = cipher.encrypt_vec(&uid.into_bytes());
557-
let cipher = Aes128Ecb::new_var(&aesecbkey, Default::default()).unwrap();
555+
let cipher = Aes128Ecb::new_from_slices(&aesecbkey, Default::default()).unwrap();
558556
let cchannel = cipher.encrypt_vec(&channel.clone().into_bytes());
559557

560558
decoded_message = decoded_message.set_uid(b64encode(&cuid));
@@ -646,9 +644,9 @@ fn run_websocket_proxy(
646644
aeschannel_ecb_locked.1 = hasher_ecb_final.finalize().as_slice().to_vec();
647645
aeschannel_ecb_locked.1.truncate(AES_NONCELEN);
648646

649-
let cipher = Aes128Ecb::new_var(&aeschannel_ecb_locked.1, Default::default()).unwrap();
647+
let cipher = Aes128Ecb::new_from_slices(&aeschannel_ecb_locked.1, Default::default()).unwrap();
650648
let cuid = cipher.encrypt_vec(&uid_clone.into_bytes());
651-
let cipher = Aes128Ecb::new_var(&aeschannel_ecb_locked.1, Default::default()).unwrap();
649+
let cipher = Aes128Ecb::new_from_slices(&aeschannel_ecb_locked.1, Default::default()).unwrap();
652650
let cchannel = cipher.encrypt_vec(&channel_clone.into_bytes());
653651

654652
//create hash for verification
@@ -667,9 +665,9 @@ fn run_websocket_proxy(
667665
let aeskey = GenericArray::from_slice(&aeschannel_ecb_locked.0);
668666
let aesecbkey = &aeschannel_ecb_locked.1;
669667

670-
let cipher = Aes128Ecb::new_var(&aesecbkey, Default::default()).unwrap();
668+
let cipher = Aes128Ecb::new_from_slices(&aesecbkey, Default::default()).unwrap();
671669
let cuid = cipher.encrypt_vec(&uid.clone().into_bytes());
672-
let cipher = Aes128Ecb::new_var(&aesecbkey, Default::default()).unwrap();
670+
let cipher = Aes128Ecb::new_from_slices(&aesecbkey, Default::default()).unwrap();
673671
let cchannel = cipher.encrypt_vec(&channel.clone().into_bytes());
674672

675673
decoded_message = decoded_message.set_uid(b64encode(&cuid));

0 commit comments

Comments
 (0)