Made message signing in Cryptography use SHA512 as the message content for... #1

Closed
netkas wants to merge 421 commits from master into dev
2 changed files with 92 additions and 17 deletions
Showing only changes of commit beadf6d181 - Show all commits

View file

@ -8,12 +8,14 @@ use Socialbox\Classes\Configuration\DatabaseConfiguration;
use Socialbox\Classes\Configuration\InstanceConfiguration;
use Socialbox\Classes\Configuration\LoggingConfiguration;
use Socialbox\Classes\Configuration\RegistrationConfiguration;
use Socialbox\Classes\Configuration\SecurityConfiguration;
class Configuration
{
private static ?\ConfigLib\Configuration $configuration = null;
private static ?DatabaseConfiguration $databaseConfiguration = null;
private static ?InstanceConfiguration $instanceConfiguration = null;
private static ?SecurityConfiguration $securityConfiguration = null;
private static ?DatabaseConfiguration $databaseConfiguration = null;
private static ?LoggingConfiguration $loggingConfiguration = null;
private static ?CacheConfiguration $cacheConfiguration = null;
private static ?RegistrationConfiguration $registrationConfiguration = null;
@ -38,6 +40,7 @@ class Configuration
// Security Configuration
$config->setDefault('security.display_internal_exceptions', false);
$config->setDefault('security.resolved_servers_ttl', 600);
$config->setDefault('security.captcha_ttl', 200);
// Database configuration
$config->setDefault('database.host', '127.0.0.1');
@ -73,11 +76,13 @@ class Configuration
$config->setDefault('registration.sms_verification_required', false);
$config->setDefault('registration.phone_call_verification_required', false);
$config->setDefault('registration.image_captcha_verification_required', true);
$config->save();
self::$configuration = $config;
self::$databaseConfiguration = new DatabaseConfiguration(self::$configuration->getConfiguration()['database']);
self::$instanceConfiguration = new InstanceConfiguration(self::$configuration->getConfiguration()['instance']);
self::$securityConfiguration = new SecurityConfiguration(self::$configuration->getConfiguration()['security']);
self::$databaseConfiguration = new DatabaseConfiguration(self::$configuration->getConfiguration()['database']);
self::$loggingConfiguration = new LoggingConfiguration(self::$configuration->getConfiguration()['logging']);
self::$cacheConfiguration = new CacheConfiguration(self::$configuration->getConfiguration()['cache']);
self::$registrationConfiguration = new RegistrationConfiguration(self::$configuration->getConfiguration()['registration']);
@ -109,21 +114,6 @@ class Configuration
return self::$configuration;
}
/**
* Retrieves the current database configuration.
*
* @return DatabaseConfiguration The configuration settings for the database.
*/
public static function getDatabaseConfiguration(): DatabaseConfiguration
{
if(self::$databaseConfiguration === null)
{
self::initializeConfiguration();
}
return self::$databaseConfiguration;
}
/**
* Retrieves the current instance configuration.
*
@ -139,6 +129,36 @@ class Configuration
return self::$instanceConfiguration;
}
/**
* Retrieves the current security configuration.
*
* @return SecurityConfiguration The current security configuration instance.
*/
public static function getSecurityConfiguration(): SecurityConfiguration
{
if(self::$securityConfiguration === null)
{
self::initializeConfiguration();
}
return self::$securityConfiguration;
}
/**
* Retrieves the current database configuration.
*
* @return DatabaseConfiguration The configuration settings for the database.
*/
public static function getDatabaseConfiguration(): DatabaseConfiguration
{
if(self::$databaseConfiguration === null)
{
self::initializeConfiguration();
}
return self::$databaseConfiguration;
}
/**
* Retrieves the current logging configuration.
*

View file

@ -0,0 +1,55 @@
<?php
namespace Socialbox\Classes\Configuration;
class SecurityConfiguration
{
private bool $displayInternalErrors;
private int $resolvedServersTtl;
private int $captchaTtl;
/**
* Constructor method for initializing class properties.
*
* @param array $data An associative array containing values for initializing the properties.
*
* @return void
*/
public function __construct(array $data)
{
$this->displayInternalErrors = $data['display_internal_errors'];
$this->resolvedServersTtl = $data['resolved_servers_ttl'];
$this->captchaTtl = $data['captcha_ttl'];
}
/**
* Determines if the display of internal errors is enabled.
*
* @return bool True if the display of internal errors is enabled, false otherwise.
*/
public function isDisplayInternalErrors(): bool
{
return $this->displayInternalErrors;
}
/**
* Retrieves the time-to-live (TTL) value for resolved servers.
*
* @return int The TTL value for resolved servers.
*/
public function getResolvedServersTtl(): int
{
return $this->resolvedServersTtl;
}
/**
* Retrieves the time-to-live (TTL) value for captchas.
*
* @return int The TTL value for captchas.
*/
public function getCaptchaTtl(): int
{
return $this->captchaTtl;
}
}