aboutsummaryrefslogtreecommitdiffstats
path: root/include/crypto.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/crypto.php')
-rw-r--r--include/crypto.php15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/crypto.php b/include/crypto.php
index 494a2a5b9..50ec2a3a6 100644
--- a/include/crypto.php
+++ b/include/crypto.php
@@ -21,6 +21,21 @@ function rsa_verify($data,$sig,$key,$alg = 'sha256') {
if(intval(OPENSSL_ALGO_SHA256) && $alg === 'sha256')
$alg = OPENSSL_ALGO_SHA256;
$verify = openssl_verify($data,$sig,$key,$alg);
+
+ if(! $verify) {
+ logger('openssl_verify: ' . openssl_error_string(),LOGGER_NORMAL,LOG_ERR);
+ logger('openssl_verify: key: ' . $key, LOGGER_DEBUG, LOG_ERR);
+ // provide a backtrace so that we can debug key issues
+ if(version_compare(PHP_VERSION, '5.4.0') >= 0) {
+ $stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
+ if($stack) {
+ foreach($stack as $s) {
+ logger('stack: ' . basename($s['file']) . ':' . $s['line'] . ':' . $s['function'] . '()',LOGGER_DEBUG,LOG_ERR);
+ }
+ }
+ }
+ }
+
return $verify;
}