From 8297fa5a006162a2539f6f527b7d97543cfb7773 Mon Sep 17 00:00:00 2001 From: trendschau Date: Thu, 15 Feb 2024 15:21:17 +0100 Subject: [PATCH] V2.2.0 fix old static license methods --- .../ControllerApiSystemVersions.php | 5 +- system/typemill/Models/License.php | 2 +- system/typemill/Static/License.php | 108 ------------------ 3 files changed, 4 insertions(+), 111 deletions(-) delete mode 100644 system/typemill/Static/License.php diff --git a/system/typemill/Controllers/ControllerApiSystemVersions.php b/system/typemill/Controllers/ControllerApiSystemVersions.php index f2af354..f46c38e 100644 --- a/system/typemill/Controllers/ControllerApiSystemVersions.php +++ b/system/typemill/Controllers/ControllerApiSystemVersions.php @@ -5,8 +5,8 @@ namespace Typemill\Controllers; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ResponseInterface as Response; use Typemill\Models\Validation; +use Typemill\Models\License; use Typemill\Static\Translations; -use Typemill\Static\License; class ControllerApiSystemVersions extends Controller { @@ -52,7 +52,8 @@ class ControllerApiSystemVersions extends Controller $url = 'https://themes.typemill.net/api/v1/getthemes?themes=' . urlencode($themeList); } - $authstring = License::getPublicKeyPem(); + $license = new License(); + $authstring = $license->getPublicKeyPem(); if(!$authstring) { $response->getBody()->write(json_encode([ diff --git a/system/typemill/Models/License.php b/system/typemill/Models/License.php index 3b1d8ee..4539db9 100644 --- a/system/typemill/Models/License.php +++ b/system/typemill/Models/License.php @@ -270,7 +270,7 @@ class License } # we have it in static license, too so use it from static and delete this duplicate. - private function getPublicKeyPem() + public function getPublicKeyPem() { $pkeyfile = getcwd() . DIRECTORY_SEPARATOR . 'settings' . DIRECTORY_SEPARATOR . "public_key.pem"; diff --git a/system/typemill/Static/License.php b/system/typemill/Static/License.php deleted file mode 100644 index 65e678f..0000000 --- a/system/typemill/Static/License.php +++ /dev/null @@ -1,108 +0,0 @@ -getYaml('basepath', 'settings', 'license.yaml'); - - if(!$licensedata) - { - return ['result' => false, 'message' => Translations::translate('no license found')]; - } - - if(!isset($licensedata['license'],$licensedata['email'],$licensedata['domain'],$licensedata['plan'],$licensedata['payed_until'],$licensedata['signature'])) - { - return ['result' => false, 'message' => Translations::translate('License data incomplete')]; - } - - $licenseStatus = self::validateLicense($licensedata); - - unset($licensedata['signature']); - - if($licenseStatus === false) - { - return ['result' => false, 'message' => Translations::translate('License data invalid')]; - } - elseif($licenseStatus === true) - { - die('Static License licenceStatus is true'); - } - else - { - die('error checking signature'); - } - } - - public static function validateLicense($data) - { - $public_key_pem = self::getPublicKeyPem(); - - $binary_signature = base64_decode($data['signature']); - - $data['email'] = self::hashMail($data['email']); - unset($data['signature']); - - # manipulate data - # $data['product'] = 'business'; - - $data = json_encode($data); - - # Check signature - $verified = openssl_verify($data, $binary_signature, $public_key_pem, OPENSSL_ALGO_SHA256); - - if ($verified == 1) - { - return true; - } - elseif ($verified == 0) - { - return false; - } - else - { - die("ugly, error checking signature"); - } - } - - public static function hashMail($mail) - { - return hash('sha256', trim($mail) . 'TYla5xa8JUur'); - } - - public static function getPublicKeyPem() - { - $pkeyfile = getcwd() . DIRECTORY_SEPARATOR . 'settings' . DIRECTORY_SEPARATOR . "public_key.pem"; - - if(file_exists($pkeyfile) && is_readable($pkeyfile)) - { - # fetch public key from file and ready it - $fp = fopen($pkeyfile, "r"); - $public_key_pem = fread($fp, 8192); - fclose($fp); - - return $public_key_pem; - } - - return false; - } - */ -} \ No newline at end of file