diff options
| author | Steven Fackler <[email protected]> | 2018-09-12 20:02:40 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2018-09-12 20:02:40 -0700 |
| commit | a29c789e5769169bc338d2ea4773603b674edc9d (patch) | |
| tree | 2f3c49b218a501b7ec549a1f1fdfeaa37a0186df /openssl-sys/src/aes.rs | |
| parent | Bump to 1.1.1 release (diff) | |
| parent | Refactor openssl-sys (diff) | |
| download | rust-openssl-a29c789e5769169bc338d2ea4773603b674edc9d.tar.xz rust-openssl-a29c789e5769169bc338d2ea4773603b674edc9d.zip | |
Merge pull request #990 from sfackler/one-sys-mod
Refactor openssl-sys
Diffstat (limited to 'openssl-sys/src/aes.rs')
| -rw-r--r-- | openssl-sys/src/aes.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/openssl-sys/src/aes.rs b/openssl-sys/src/aes.rs new file mode 100644 index 00000000..cbb289c6 --- /dev/null +++ b/openssl-sys/src/aes.rs @@ -0,0 +1,28 @@ +use libc::*; + +pub const AES_ENCRYPT: c_int = 1; +pub const AES_DECRYPT: c_int = 0; + +pub const AES_MAXNR: c_int = 14; +pub const AES_BLOCK_SIZE: c_int = 16; + +#[repr(C)] +pub struct AES_KEY { + // There is some business with AES_LONG which is there to ensure the values here are 32 bits + rd_key: [u32; 4 * (AES_MAXNR as usize + 1)], + rounds: c_int, +} + +extern "C" { + pub fn AES_set_encrypt_key(userKey: *const c_uchar, bits: c_int, key: *mut AES_KEY) -> c_int; + pub fn AES_set_decrypt_key(userKey: *const c_uchar, bits: c_int, key: *mut AES_KEY) -> c_int; + + pub fn AES_ige_encrypt( + in_: *const c_uchar, + out: *mut c_uchar, + length: size_t, + key: *const AES_KEY, + ivec: *mut c_uchar, + enc: c_int, + ); +} |