From 817d1461236acf9067ab7ff79d116832f18c282b Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 15 Dec 2013 18:30:10 -0800 Subject: bloody hell... php version incompatibility with openssl - openssl no longer accepts a string as an algorithm. Earlier versions didn't recognise sha256. So we'll look to see if the algorithm constant for sha256 is defined and if so we'll use that instead of the string. --- include/crypto.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include/crypto.php') diff --git a/include/crypto.php b/include/crypto.php index e9372fbb4..339d5fe17 100644 --- a/include/crypto.php +++ b/include/crypto.php @@ -4,6 +4,8 @@ function rsa_sign($data,$key,$alg = 'sha256') { if(! $key) return 'no key'; $sig = ''; + if(defined(OPENSSL_ALGO_SHA256) && $alg === 'sha256') + $alg = OPENSSL_ALGO_SHA256; openssl_sign($data,$sig,$key,$alg); return $sig; } @@ -13,6 +15,8 @@ function rsa_verify($data,$sig,$key,$alg = 'sha256') { if(! $key) return false; + if(defined(OPENSSL_ALGO_SHA256) && $alg === 'sha256') + $alg = OPENSSL_ALGO_SHA256; $verify = openssl_verify($data,$sig,$key,$alg); return $verify; } -- cgit v1.2.3 From 065300f7c352dc74e52a09804b7aeb858df1db0a Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 15 Dec 2013 18:43:54 -0800 Subject: bloody hell - it isn't defined either. --- include/crypto.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/crypto.php') diff --git a/include/crypto.php b/include/crypto.php index 339d5fe17..33cdc10c0 100644 --- a/include/crypto.php +++ b/include/crypto.php @@ -4,7 +4,7 @@ function rsa_sign($data,$key,$alg = 'sha256') { if(! $key) return 'no key'; $sig = ''; - if(defined(OPENSSL_ALGO_SHA256) && $alg === 'sha256') + if(intval(OPENSSL_ALGO_SHA256) && $alg === 'sha256') $alg = OPENSSL_ALGO_SHA256; openssl_sign($data,$sig,$key,$alg); return $sig; @@ -15,7 +15,7 @@ function rsa_verify($data,$sig,$key,$alg = 'sha256') { if(! $key) return false; - if(defined(OPENSSL_ALGO_SHA256) && $alg === 'sha256') + if(intval(OPENSSL_ALGO_SHA256) && $alg === 'sha256') $alg = OPENSSL_ALGO_SHA256; $verify = openssl_verify($data,$sig,$key,$alg); return $verify; -- cgit v1.2.3