]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/Crypto.php
Merge pull request #8135 from annando/brief
[friendica.git] / src / Util / Crypto.php
index 2ab97e5373b5a53fd276ba5ab859af6f0fbf5c2c..ce75973e01da6d49882e88ce8829230f4957aa90 100644 (file)
@@ -4,14 +4,15 @@
  */
 namespace Friendica\Util;
 
+use ASN_BASE;
+use ASNValue;
 use Friendica\Core\Config;
 use Friendica\Core\Hook;
 use Friendica\Core\Logger;
-use ASN_BASE;
-use ASNValue;
+use Friendica\Core\System;
 
 /**
- * @brief Crypto class
+ * Crypto class
  */
 class Crypto
 {
@@ -24,6 +25,9 @@ class Crypto
         */
        public static function rsaSign($data, $key, $alg = 'sha256')
        {
+               if (empty($key)) {
+                       Logger::warning('Empty key parameter', ['callstack' => System::callstack()]);
+               }
                openssl_sign($data, $sig, $key, (($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : $alg));
                return $sig;
        }
@@ -37,6 +41,9 @@ class Crypto
         */
        public static function rsaVerify($data, $sig, $key, $alg = 'sha256')
        {
+               if (empty($key)) {
+                       Logger::warning('Empty key parameter', ['callstack' => System::callstack()]);
+               }
                return openssl_verify($data, $sig, $key, (($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : $alg));
        }
 
@@ -202,8 +209,10 @@ class Crypto
 
                $r = ASN_BASE::parseASNString($x);
 
-               $m = Strings::base64UrlDecode($r[0]->asnData[1]->asnData[0]->asnData[0]->asnData);
-               $e = Strings::base64UrlDecode($r[0]->asnData[1]->asnData[0]->asnData[1]->asnData);
+               if (isset($r[0])) {
+                       $m = Strings::base64UrlDecode($r[0]->asnData[1]->asnData[0]->asnData[0]->asnData);
+                       $e = Strings::base64UrlDecode($r[0]->asnData[1]->asnData[0]->asnData[1]->asnData);
+               }
        }
 
        /**