aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2016-10-15 13:12:37 -0700
committerSteven Fackler <[email protected]>2016-10-15 13:12:37 -0700
commit4ed81d6426271344a8fcc9bc4401f10d0f530634 (patch)
tree4d60f12a01615d06d60bfba59ebbe9d8e57c2497 /openssl/src
parentAdd examples to crypto::sign (diff)
downloadrust-openssl-4ed81d6426271344a8fcc9bc4401f10d0f530634.tar.xz
rust-openssl-4ed81d6426271344a8fcc9bc4401f10d0f530634.zip
Fix EVP_DigestVerifyFinal version support
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/crypto/sign.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/openssl/src/crypto/sign.rs b/openssl/src/crypto/sign.rs
index 2a72a390..c5d54597 100644
--- a/openssl/src/crypto/sign.rs
+++ b/openssl/src/crypto/sign.rs
@@ -168,9 +168,9 @@ impl<'a> Verifier<'a> {
pub fn finish(&self, signature: &[u8]) -> Result<bool, ErrorStack> {
unsafe {
- let r = ffi::EVP_DigestVerifyFinal(self.0,
- signature.as_ptr() as *const _ as _,
- signature.len());
+ let r = EVP_DigestVerifyFinal(self.0,
+ signature.as_ptr() as *const _,
+ signature.len());
match r {
1 => Ok(true),
0 => {
@@ -194,6 +194,17 @@ impl<'a> Write for Verifier<'a> {
}
}
+#[cfg(not(ossl101))]
+use ffi::EVP_DigestVerifyFinal;
+
+#[cfg(ossl101)]
+#[allow(bad_style)]
+unsafe fn EVP_DigestVerifyFinal(ctx: *mut ffi::EVP_MD_CTX,
+ sigret: *const ::libc::c_uchar,
+ siglen: ::libc::size_t) -> ::libc::c_int {
+ ffi::EVP_DigestVerifyFinal(ctx, sigret as *mut _, siglen)
+}
+
#[cfg(test)]
mod test {
use serialize::hex::FromHex;