aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorAxel Rasmussen <[email protected]>2018-02-04 13:17:09 -0800
committerAxel Rasmussen <[email protected]>2018-02-04 13:17:09 -0800
commit404bbeddfd97d550142c422950ab12be985b2cf4 (patch)
tree22f00aae4a8b2200c123c5c752e90c8481afc4df /openssl/src
parentMerge pull request #814 from sfackler/cleanup (diff)
downloadrust-openssl-404bbeddfd97d550142c422950ab12be985b2cf4.tar.xz
rust-openssl-404bbeddfd97d550142c422950ab12be985b2cf4.zip
Support EVP_des_ede3.
This cipher is used, for example, for DES challenges for authenticating against a Yubikey, so supporting it in rust-openssl is generally useful.
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/symm.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/openssl/src/symm.rs b/openssl/src/symm.rs
index c4217d23..5df77785 100644
--- a/openssl/src/symm.rs
+++ b/openssl/src/symm.rs
@@ -133,6 +133,10 @@ impl Cipher {
unsafe { Cipher(ffi::EVP_des_ecb()) }
}
+ pub fn des_ede3() -> Cipher {
+ unsafe { Cipher(ffi::EVP_des_ede3()) }
+ }
+
pub fn rc4() -> Cipher {
unsafe { Cipher(ffi::EVP_rc4()) }
}
@@ -1036,6 +1040,17 @@ mod tests {
}
#[test]
+ fn test_des_ede3() {
+
+ let pt = "9994f4c69d40ae4f34ff403b5cf39d4c8207ea5d3e19a5fd";
+ let ct = "9e5c4297d60582f81071ac8ab7d0698d4c79de8b94c519858207ea5d3e19a5fd";
+ let key = "010203040506070801020304050607080102030405060708";
+ let iv = "5cc118306dc702e4";
+
+ cipher_test(super::Cipher::des_ede3(), pt, ct, key, iv);
+ }
+
+ #[test]
fn test_aes128_gcm() {
let key = "0e00c76561d2bd9b40c3c15427e2b08f";
let iv = "492cadaccd3ca3fbc9cf9f06eb3325c4e159850b0dbe98199b89b7af528806610b6f63998e1eae80c348e7\