Loading openssl-sys/CHANGELOG.md +4 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,10 @@ ## [Unreleased] ### Added * Added `EVP_MD_CTX_size` and `EVP_MD_CTX_get_size` ## [v0.9.75] - 2022-07-09 ### Added Loading openssl-sys/src/evp.rs +19 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,21 @@ pub unsafe fn EVP_get_digestbynid(type_: c_int) -> *const EVP_MD { cfg_if! { if #[cfg(ossl300)] { #[inline] pub unsafe fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD { EVP_MD_CTX_get0_md(ctx) } #[inline] pub unsafe fn EVP_MD_CTX_get_size(ctx: *const EVP_MD_CTX) -> c_int { EVP_MD_get_size(EVP_MD_CTX_get0_md(ctx)) } #[inline] pub unsafe fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> c_int { EVP_MD_CTX_get_size(ctx) } #[inline] pub unsafe fn EVP_MD_block_size(md: *const EVP_MD) -> c_int { EVP_MD_get_block_size(md) Loading Loading @@ -82,6 +97,10 @@ cfg_if! { pub unsafe fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> c_int { EVP_CIPHER_CTX_get_iv_length(ctx) } } else { pub unsafe fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> c_int { EVP_MD_size(EVP_MD_CTX_md(ctx)) } } } #[cfg(not(ossl300))] Loading openssl-sys/src/handwritten/evp.rs +4 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,8 @@ cfg_if! { pub fn EVP_MD_get_size(md: *const EVP_MD) -> c_int; pub fn EVP_MD_get_type(md: *const EVP_MD) -> c_int; pub fn EVP_MD_CTX_get0_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD; pub fn EVP_CIPHER_get_key_length(cipher: *const EVP_CIPHER) -> c_int; pub fn EVP_CIPHER_get_block_size(cipher: *const EVP_CIPHER) -> c_int; pub fn EVP_CIPHER_get_iv_length(cipher: *const EVP_CIPHER) -> c_int; Loading @@ -31,6 +33,8 @@ cfg_if! { pub fn EVP_MD_size(md: *const EVP_MD) -> c_int; pub fn EVP_MD_type(md: *const EVP_MD) -> c_int; pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD; pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> c_int; pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> c_int; pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> c_int; Loading openssl/CHANGELOG.md +4 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,10 @@ ## [Unreleased] ### Added * Added `MdCtxRef::size` ## [v0.10.41] - 2022-06-09 ### Fixed Loading openssl/src/md_ctx.rs +30 −0 Original line number Diff line number Diff line Loading @@ -373,6 +373,13 @@ impl MdCtxRef { Ok(r == 1) } } /// Returns the size of the message digest, i.e. the size of the hash #[corresponds(EVP_MD_CTX_size)] #[inline] pub fn size(&self) -> usize { unsafe { ffi::EVP_MD_CTX_size(self.as_ptr()) as usize } } } #[cfg(test)] Loading Loading @@ -454,4 +461,27 @@ mod test { let valid = ctx.digest_verify_final(&signature).unwrap(); assert!(valid); } #[test] fn verify_md_ctx_size() { let mut ctx = MdCtx::new().unwrap(); ctx.digest_init(Md::sha224()).unwrap(); assert_eq!(Md::sha224().size(), ctx.size()); assert_eq!(Md::sha224().size(), 28); let mut ctx = MdCtx::new().unwrap(); ctx.digest_init(Md::sha256()).unwrap(); assert_eq!(Md::sha256().size(), ctx.size()); assert_eq!(Md::sha256().size(), 32); let mut ctx = MdCtx::new().unwrap(); ctx.digest_init(Md::sha384()).unwrap(); assert_eq!(Md::sha384().size(), ctx.size()); assert_eq!(Md::sha384().size(), 48); let mut ctx = MdCtx::new().unwrap(); ctx.digest_init(Md::sha512()).unwrap(); assert_eq!(Md::sha512().size(), ctx.size()); assert_eq!(Md::sha512().size(), 64); } } Loading
openssl-sys/CHANGELOG.md +4 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,10 @@ ## [Unreleased] ### Added * Added `EVP_MD_CTX_size` and `EVP_MD_CTX_get_size` ## [v0.9.75] - 2022-07-09 ### Added Loading
openssl-sys/src/evp.rs +19 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,21 @@ pub unsafe fn EVP_get_digestbynid(type_: c_int) -> *const EVP_MD { cfg_if! { if #[cfg(ossl300)] { #[inline] pub unsafe fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD { EVP_MD_CTX_get0_md(ctx) } #[inline] pub unsafe fn EVP_MD_CTX_get_size(ctx: *const EVP_MD_CTX) -> c_int { EVP_MD_get_size(EVP_MD_CTX_get0_md(ctx)) } #[inline] pub unsafe fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> c_int { EVP_MD_CTX_get_size(ctx) } #[inline] pub unsafe fn EVP_MD_block_size(md: *const EVP_MD) -> c_int { EVP_MD_get_block_size(md) Loading Loading @@ -82,6 +97,10 @@ cfg_if! { pub unsafe fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> c_int { EVP_CIPHER_CTX_get_iv_length(ctx) } } else { pub unsafe fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> c_int { EVP_MD_size(EVP_MD_CTX_md(ctx)) } } } #[cfg(not(ossl300))] Loading
openssl-sys/src/handwritten/evp.rs +4 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,8 @@ cfg_if! { pub fn EVP_MD_get_size(md: *const EVP_MD) -> c_int; pub fn EVP_MD_get_type(md: *const EVP_MD) -> c_int; pub fn EVP_MD_CTX_get0_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD; pub fn EVP_CIPHER_get_key_length(cipher: *const EVP_CIPHER) -> c_int; pub fn EVP_CIPHER_get_block_size(cipher: *const EVP_CIPHER) -> c_int; pub fn EVP_CIPHER_get_iv_length(cipher: *const EVP_CIPHER) -> c_int; Loading @@ -31,6 +33,8 @@ cfg_if! { pub fn EVP_MD_size(md: *const EVP_MD) -> c_int; pub fn EVP_MD_type(md: *const EVP_MD) -> c_int; pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD; pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> c_int; pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> c_int; pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> c_int; Loading
openssl/CHANGELOG.md +4 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,10 @@ ## [Unreleased] ### Added * Added `MdCtxRef::size` ## [v0.10.41] - 2022-06-09 ### Fixed Loading
openssl/src/md_ctx.rs +30 −0 Original line number Diff line number Diff line Loading @@ -373,6 +373,13 @@ impl MdCtxRef { Ok(r == 1) } } /// Returns the size of the message digest, i.e. the size of the hash #[corresponds(EVP_MD_CTX_size)] #[inline] pub fn size(&self) -> usize { unsafe { ffi::EVP_MD_CTX_size(self.as_ptr()) as usize } } } #[cfg(test)] Loading Loading @@ -454,4 +461,27 @@ mod test { let valid = ctx.digest_verify_final(&signature).unwrap(); assert!(valid); } #[test] fn verify_md_ctx_size() { let mut ctx = MdCtx::new().unwrap(); ctx.digest_init(Md::sha224()).unwrap(); assert_eq!(Md::sha224().size(), ctx.size()); assert_eq!(Md::sha224().size(), 28); let mut ctx = MdCtx::new().unwrap(); ctx.digest_init(Md::sha256()).unwrap(); assert_eq!(Md::sha256().size(), ctx.size()); assert_eq!(Md::sha256().size(), 32); let mut ctx = MdCtx::new().unwrap(); ctx.digest_init(Md::sha384()).unwrap(); assert_eq!(Md::sha384().size(), ctx.size()); assert_eq!(Md::sha384().size(), 48); let mut ctx = MdCtx::new().unwrap(); ctx.digest_init(Md::sha512()).unwrap(); assert_eq!(Md::sha512().size(), ctx.size()); assert_eq!(Md::sha512().size(), 64); } }