X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FUtil%2FCrypto.php;h=20ab9bc5288c19a28c4b16ea760d43c984b6930e;hb=9901d82fea19c86599fa431f5221eaeefcf03c04;hp=0187079e39d8087579c8c4478ba4ed4aab2c6b12;hpb=befc2af5043a3afde251721c0d27df695db1bb7e;p=friendica.git diff --git a/src/Util/Crypto.php b/src/Util/Crypto.php index 0187079e39..20ab9bc528 100644 --- a/src/Util/Crypto.php +++ b/src/Util/Crypto.php @@ -1,6 +1,6 @@ System::callstack()]); + Logger::warning('Empty key parameter'); } openssl_sign($data, $sig, $key, (($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : $alg)); return $sig; @@ -59,27 +57,11 @@ class Crypto public static function rsaVerify($data, $sig, $key, $alg = 'sha256') { if (empty($key)) { - Logger::warning('Empty key parameter', ['callstack' => System::callstack()]); + Logger::warning('Empty key parameter'); } return openssl_verify($data, $sig, $key, (($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : $alg)); } - /** - /** - * @param string $m modulo - * @param string $e exponent - * @return string - */ - public static function meToPem($m, $e) - { - $rsa = new RSA(); - $rsa->loadKey([ - 'e' => new BigInteger($e, 256), - 'n' => new BigInteger($m, 256) - ]); - return $rsa->getPublicKey(); - } - /** * Transform RSA public keys to standard PEM output * @@ -89,29 +71,7 @@ class Crypto */ public static function rsaToPem(string $key) { - $rsa = new RSA(); - $rsa->setPublicKey($key); - - return $rsa->getPublicKey(RSA::PUBLIC_FORMAT_PKCS8); - } - - /** - * Extracts the modulo and exponent reference from a public PEM key - * - * @param string $key public PEM key - * @param string $modulus (ref) modulo reference - * @param string $exponent (ref) exponent reference - * - * @return void - */ - public static function pemToMe(string $key, &$modulus, &$exponent) - { - $rsa = new RSA(); - $rsa->loadKey($key); - $rsa->setPublicKey(); - - $modulus = $rsa->modulus->toBytes(); - $exponent = $rsa->exponent->toBytes(); + return (string)PublicKeyLoader::load($key); } /** @@ -134,7 +94,7 @@ class Crypto $result = openssl_pkey_new($openssl_options); if (empty($result)) { - Logger::log('new_keypair: failed'); + Logger::notice('new_keypair: failed'); return false; } @@ -215,7 +175,7 @@ class Crypto private static function encapsulateOther($data, $pubkey, $alg) { if (!$pubkey) { - Logger::log('no key. data: '.$data); + Logger::notice('no key. data: '.$data); } $fn = 'encrypt' . strtoupper($alg); if (method_exists(__CLASS__, $fn)) { @@ -257,7 +217,7 @@ class Crypto private static function encapsulateAes($data, $pubkey) { if (!$pubkey) { - Logger::log('aes_encapsulate: no key. data: ' . $data); + Logger::notice('aes_encapsulate: no key. data: ' . $data); } $key = random_bytes(32); @@ -268,7 +228,7 @@ class Crypto // log the offending call so we can track it down if (!openssl_public_encrypt($key, $k, $pubkey)) { $x = debug_backtrace(); - Logger::log('aes_encapsulate: RSA failed. ' . print_r($x[0], true)); + Logger::notice('aes_encapsulate: RSA failed.', ['data' => $x[0]]); } $result['alg'] = 'aes256cbc';