diff options
| author | Steven Fackler <[email protected]> | 2016-10-25 20:58:33 -0700 |
|---|---|---|
| committer | Steven Fackler <[email protected]> | 2016-10-25 20:59:33 -0700 |
| commit | bea53bb39b93a7891163c54eaa8b6a519b54a68a (patch) | |
| tree | b628a3ecd8912aad51f8a601e1389dd54b64fc6e | |
| parent | Merge pull request #490 from sfackler/shutdown (diff) | |
| download | rust-openssl-bea53bb39b93a7891163c54eaa8b6a519b54a68a.tar.xz rust-openssl-bea53bb39b93a7891163c54eaa8b6a519b54a68a.zip | |
Support AES GCM
Closes #326
| -rw-r--r-- | openssl-sys/src/lib.rs | 4 | ||||
| -rw-r--r-- | openssl/src/symm.rs | 16 |
2 files changed, 18 insertions, 2 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index fd5aa469..ac168c48 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -1359,7 +1359,7 @@ extern { pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER; pub fn EVP_aes_128_xts() -> *const EVP_CIPHER; pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER; - // fn EVP_aes_128_gcm() -> EVP_CIPHER; + pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER; pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER; pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER; pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER; @@ -1367,7 +1367,7 @@ extern { pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER; pub fn EVP_aes_256_xts() -> *const EVP_CIPHER; pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER; - // fn EVP_aes_256_gcm() -> EVP_CIPHER; + pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER; pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER; pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER; pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER; diff --git a/openssl/src/symm.rs b/openssl/src/symm.rs index 65f0addb..bffe337a 100644 --- a/openssl/src/symm.rs +++ b/openssl/src/symm.rs @@ -58,6 +58,12 @@ impl Cipher { } } + pub fn aes_128_gcm() -> Cipher { + unsafe { + Cipher(ffi::EVP_aes_128_gcm()) + } + } + pub fn aes_256_ecb() -> Cipher { unsafe { Cipher(ffi::EVP_aes_256_ecb()) @@ -100,6 +106,12 @@ impl Cipher { } } + pub fn aes_256_gcm() -> Cipher { + unsafe { + Cipher(ffi::EVP_aes_256_gcm()) + } + } + pub fn des_cbc() -> Cipher { unsafe { Cipher(ffi::EVP_des_cbc()) @@ -118,6 +130,10 @@ impl Cipher { } } + pub unsafe fn from_ptr(ptr: *const ffi::EVP_CIPHER) -> Cipher { + Cipher(ptr) + } + pub fn as_ptr(&self) -> *const ffi::EVP_CIPHER { self.0 } |