use Friendica\Core\Config;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
+use Friendica\Core\System;
use ASN_BASE;
use ASNValue;
*/
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;
}
*/
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));
}
*
* Ported from Hubzilla: https://framagit.org/hubzilla/core/blob/master/include/crypto.php
*
- * @param string $data
+ * @param array $data ['iv' => $iv, 'key' => $key, 'alg' => $alg, 'data' => $data]
* @param string $prvkey The private key used for decryption.
*
* @return string|boolean The decrypted string or false on failure.
* @throws \Exception
*/
- public static function unencapsulate($data, $prvkey)
+ public static function unencapsulate(array $data, $prvkey)
{
if (!$data) {
return;
$alg = ((array_key_exists('alg', $data)) ? $data['alg'] : 'aes256cbc');
if ($alg === 'aes256cbc') {
- return self::encapsulateAes($data, $prvkey);
+ return self::encapsulateAes($data['data'], $prvkey);
}
- return self::encapsulateOther($data, $prvkey, $alg);
+ return self::encapsulateOther($data['data'], $prvkey, $alg);
}
/**
*
* Ported from Hubzilla: https://framagit.org/hubzilla/core/blob/master/include/crypto.php
*
- * @param string $data
+ * @param array $data
* @param string $prvkey The private key used for decryption.
* @param string $alg
*
* @return string|boolean The decrypted string or false on failure.
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/
- private static function unencapsulateOther($data, $prvkey, $alg)
+ private static function unencapsulateOther(array $data, $prvkey, $alg)
{
$fn = 'decrypt' . strtoupper($alg);