Remove outdated test files and update peer registration logic
This commit is contained in:
parent
1108711eb7
commit
7e4b02bc04
18 changed files with 362 additions and 819 deletions
|
@ -1,219 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Socialbox\Classes;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Socialbox\Exceptions\CryptographyException;
|
||||
|
||||
class CryptographyTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* Testing `Cryptography::generateKeyPair` method
|
||||
* @throws CryptographyException
|
||||
*/
|
||||
public function testGenerateKeyPair()
|
||||
{
|
||||
$keyPair = Cryptography::generateKeyPair();
|
||||
|
||||
$this->assertIsObject($keyPair);
|
||||
$this->assertObjectHasProperty('publicKey', $keyPair);
|
||||
$this->assertObjectHasProperty('privateKey', $keyPair);
|
||||
$this->assertIsString($keyPair->getPublicKey());
|
||||
$this->assertIsString($keyPair->getPrivateKey());
|
||||
|
||||
print_r($keyPair);
|
||||
}
|
||||
|
||||
/**
|
||||
* Testing `Cryptography::signContent` method
|
||||
* @throws CryptographyException
|
||||
*/
|
||||
public function testSignContent()
|
||||
{
|
||||
$content = "My secret content";
|
||||
$keyPair = Cryptography::generateKeyPair();
|
||||
|
||||
$signature = Cryptography::signContent($content, $keyPair->getPrivateKey());
|
||||
|
||||
$this->assertIsString($signature);
|
||||
}
|
||||
|
||||
/**
|
||||
* Testing `Cryptography::verifyContent` method
|
||||
* @throws CryptographyException
|
||||
*/
|
||||
public function testVerifyContent()
|
||||
{
|
||||
$content = "My secret content";
|
||||
$keyPair = Cryptography::generateKeyPair();
|
||||
|
||||
// Sign the content
|
||||
$signature = Cryptography::signContent($content, $keyPair->getPrivateKey());
|
||||
|
||||
// Verify the content
|
||||
$result = Cryptography::verifyContent($content, $signature, $keyPair->getPublicKey());
|
||||
|
||||
$this->assertTrue($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Testing `Cryptography::temporarySignature` method
|
||||
* @throws CryptographyException
|
||||
*/
|
||||
public function testTemporarySignature()
|
||||
{
|
||||
$content = "Test Content";
|
||||
$keyPair = Cryptography::generateKeyPair();
|
||||
|
||||
$tempSignature = Cryptography::temporarySignContent($content, $keyPair->getPrivateKey());
|
||||
|
||||
$this->assertIsString($tempSignature);
|
||||
}
|
||||
|
||||
/**
|
||||
* Testing `Cryptography::verifyTemporarySignature` method
|
||||
* @throws CryptographyException
|
||||
*/
|
||||
public
|
||||
function testVerifyTemporarySignature()
|
||||
{
|
||||
$content = "Test Content";
|
||||
$keyPair = Cryptography::generateKeyPair();
|
||||
$frames = 2;
|
||||
|
||||
// Generate a temporary signature
|
||||
$tempSignature = Cryptography::temporarySignContent($content, $keyPair->getPrivateKey());
|
||||
|
||||
// Verify the temporary signature
|
||||
$result = Cryptography::verifyTemporarySignature($content, $tempSignature, $keyPair->getPublicKey(), $frames);
|
||||
|
||||
$this->assertTrue($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Testing `Cryptography::encrypt` method
|
||||
* @throws CryptographyException
|
||||
*/
|
||||
public function testEncrypt()
|
||||
{
|
||||
$content = "Test Content";
|
||||
$keyPair = Cryptography::generateKeyPair();
|
||||
|
||||
// Encrypt the content
|
||||
$encryptedContent = Cryptography::encryptContent($content, $keyPair->getPublicKey());
|
||||
|
||||
$this->assertIsString($encryptedContent);
|
||||
}
|
||||
|
||||
/**
|
||||
* Testing `Cryptography::decrypt` method
|
||||
* @throws CryptographyException
|
||||
*/
|
||||
public function testDecrypt()
|
||||
{
|
||||
$content = "Test Content";
|
||||
$keyPair = Cryptography::generateKeyPair();
|
||||
|
||||
// Encrypt the content
|
||||
$encryptedContent = Cryptography::encryptContent($content, $keyPair->getPublicKey());
|
||||
|
||||
// Decrypt the content
|
||||
$decryptedContent = Cryptography::decryptContent($encryptedContent, $keyPair->getPrivateKey());
|
||||
|
||||
$this->assertIsString($decryptedContent);
|
||||
$this->assertEquals($content, $decryptedContent);
|
||||
}
|
||||
|
||||
public function testEncryptFromFile()
|
||||
{
|
||||
$file_path = __DIR__ . DIRECTORY_SEPARATOR . 'server_public.der';
|
||||
$content = "Test Content";
|
||||
|
||||
$encryptedContent = Cryptography::encryptContent($content, file_get_contents($file_path));
|
||||
|
||||
$this->assertIsString($encryptedContent);
|
||||
$this->assertNotEquals($content, $encryptedContent);
|
||||
|
||||
print_r($encryptedContent);
|
||||
}
|
||||
|
||||
public function testDecryptFromFile()
|
||||
{
|
||||
$private_key_file = __DIR__ . DIRECTORY_SEPARATOR . 'server_private.der';
|
||||
$content = file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'server_secret.txt');
|
||||
|
||||
try
|
||||
{
|
||||
$decryptedContent = Cryptography::decryptContent($content, file_get_contents($private_key_file));
|
||||
}
|
||||
catch(CryptographyException $e)
|
||||
{
|
||||
$this->fail($e->getMessage());
|
||||
}
|
||||
|
||||
$this->assertIsString($decryptedContent);
|
||||
$this->assertEquals($decryptedContent, 'Test Content');
|
||||
}
|
||||
|
||||
/**
|
||||
* Testing `Cryptography::validatePublicKey` method
|
||||
*/
|
||||
public function testValidatePublicKey()
|
||||
{
|
||||
$keyPair = Cryptography::generateKeyPair();
|
||||
|
||||
$result = Cryptography::validatePublicKey($keyPair->getPublicKey());
|
||||
$this->assertTrue($result);
|
||||
|
||||
$resultWithInValidKey = Cryptography::validatePublicKey('invalidKey');
|
||||
|
||||
$this->assertFalse($resultWithInValidKey);
|
||||
}
|
||||
|
||||
public function testValidateInvalidPublicKey()
|
||||
{
|
||||
$result = Cryptography::validatePublicKey('Bogus Key');
|
||||
$this->assertFalse($result);
|
||||
|
||||
$result = Cryptography::validatePublicKey(Utilities::base64encode('Bogus Key'));
|
||||
$this->assertFalse($result);
|
||||
}
|
||||
|
||||
public function testValidatePrivateKey()
|
||||
{
|
||||
$keyPair = Cryptography::generateKeyPair();
|
||||
|
||||
$result = Cryptography::validatePrivateKey($keyPair->getPrivateKey());
|
||||
$this->assertTrue($result);
|
||||
|
||||
$resultWithInValidKey = Cryptography::validatePublicKey('invalidKey');
|
||||
|
||||
$this->assertFalse($resultWithInValidKey);
|
||||
}
|
||||
|
||||
public function testValidateInvalidPrivateKey()
|
||||
{
|
||||
$result = Cryptography::validatePublicKey('Bogus Key');
|
||||
$this->assertFalse($result);
|
||||
|
||||
$result = Cryptography::validatePrivateKey(Utilities::base64encode('Bogus Key'));
|
||||
$this->assertFalse($result);
|
||||
}
|
||||
|
||||
public function testRequestSigning()
|
||||
{
|
||||
$client_private_der = __DIR__ . DIRECTORY_SEPARATOR . 'client_private.der';
|
||||
$client_public_der = __DIR__ . DIRECTORY_SEPARATOR . 'client_public.der';
|
||||
$content_file = __DIR__ . DIRECTORY_SEPARATOR . 'content.txt';
|
||||
|
||||
$hash = hash('sha1', file_get_contents($content_file));
|
||||
$this->assertEquals('fa2415f0735a8aa151195688852178e8fd6e77c5', $hash);
|
||||
|
||||
$signature = Cryptography::signContent($hash, file_get_contents($client_private_der));
|
||||
$this->assertEquals("Gcnijq7V8AYXgdk/eP9IswXN7831FevlBNDTKN60Ku7xesPDuPX8e55+38WFGCQ87DbeiIr+61XIDoN4+bTM4Wl0YSUe7oHV9BBnBqGhyZTntDPedUYUomrF3IRcpVRK0SbQSRaYucIp/ZsSHdbQgQBtDCvH5pK1+5g+VK9ZFT16Isvk0PhMjZiLkUYxUklFuzak7agWiS3wllFPqYSM6ri0RF+5I5JbnR9fUAOfhOceax//5H7d2WsdLj6DwtuY+eL5WyHxSmGA04YeQF3JgOGJ3WX2DSH8L0zA7pkGOjz5y1Nu6+0U6KRUXcezU/iM4zy5OJOnD5eJH4pYZizkiA==", $signature);
|
||||
|
||||
$result = Cryptography::verifyContent($hash, $signature, file_get_contents($client_public_der));
|
||||
$this->assertTrue($result);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Socialbox\Classes;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Socialbox\Managers\EncryptionRecordsManager;
|
||||
|
||||
class SecuredPasswordTest extends TestCase
|
||||
{
|
||||
public function testVerifyPassword()
|
||||
{
|
||||
print("Getting random encryption record\n");
|
||||
$encryptionRecord = EncryptionRecordsManager::getRandomRecord();
|
||||
|
||||
print("Securing password\n");
|
||||
$securedPassword = SecuredPassword::securePassword('123-123-123', 'password!', $encryptionRecord);
|
||||
|
||||
print("Verifying password\n");
|
||||
$this->assertTrue(SecuredPassword::verifyPassword('password!', $securedPassword, EncryptionRecordsManager::getAllRecords()));
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Socialbox\Classes;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Socialbox\Exceptions\ResolutionException;
|
||||
use Socialbox\Objects\ResolvedServer;
|
||||
|
||||
class ServerResolverTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* Test for the function resolveDomain of the class ServerResolver
|
||||
*/
|
||||
public function testResolveDomain(): void
|
||||
{
|
||||
// successful resolution
|
||||
$resolvedServer = ServerResolver::resolveDomain('n64.cc');
|
||||
self::assertNotEmpty($resolvedServer->getEndpoint());
|
||||
self::assertNotEmpty($resolvedServer->getPublicKey());
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZb4K+28kKYe1CvHPWHJALJFS396HOFmBv+anpAVWMDGBUyAWbWEqxmTAV17cBHiICjDDCNFBpOZLWzIiUpdWKA0Jo+Vu9zgWSPUyGe/Lik4GFNZ38gfolfdKGnLNFnn4nFR/fsZQ7hg4wWDarJmhJ+ZSLShOz2uIb4LaKk2qy12c6Zepufgrbk9TwWZQiXkzqBWbrZDpw0pp50CzoIwEnYJ+a7vhb98jpeS+Jjnp5zWlFjv9RgzOQUOwwOK4We2gNAVeFC5BP9trklpTh1bJlit4CECH68fCGjgoTOU92UbgucgyA4O5FVPGQYPAMuiZMGFaqXE2E7z1XwYIMAL4VAgMBAAECggEAAKiJz3CYuO+gGnL+F7qjaSXCUE8VvPfoCwuNYHNEFXo9DJBmnL7EU2WrYG+wARCP7O7qd0dEidx9u36ytjyCcKT4nYni8lM1zU7rVvbnLbsuRZS/4RO/RaYfPxig94fDfSeJ2ma0i7G56onj+MBbyTZarZ7Bf8hpcmKg9pkNEcEVcklNIwwbXKBOGq75Vka/+W56JZKJD3G9YmfrAO5RGF1prh93MRXlxlN/91k/m2pqkN9xYofepn0ePmI8Ci18jrMpJbmeu8BkypzgvC/5EfHipn7y/yJ215o/EtB575muz2zngRXe+GVO5lB5d5PuEwmXoaV5o3BqkIcb3aiz4QKBgQD7P1AE2/3oATNUF1FwlXzvdCS7M2BB28jQWjzJvHus1d1+qA2StWPgCPG2D/YTtHPI3xefBnAmeSIFCFEub0YLONbRvtQAZdTt5SAaZuUyMprqD1sCUHCizyVO0wHxo3DS0sIFmo/Lpc+jnYHn3KcuRPRJk3ncZNCQhy9a/rrnxQKBgQDdjHY82YdkWQWj/xM1EuVtkVVeCJWJ6tSDn+Uq8d+hXILFAQ47GOUbzj4Ty4qGgsAgsaAGqja5t6CE+fYs8Q34FsxTsYgIRm0VXqtPm4aYTQ4PwKbmMPEOgEsXBywe5Y+QB0u/WuNyhgwgYP5cy1IS3HA1HmbTisi0zLEfkVWSEQKBgCuP36zoA88NHjwvStSNZrsR1SiMEN16YQgXDUEhKARglGXYd3n/b1Cx3E7n14+1Evo6DBtrf1h8WjSrK4A0lN1vPnfhcVqcTV3uAzHwsz6P3aJFhU8SaWUhK2POXCDsaKx1FGTqVpJFrom8zoBIFsiD9iMnqdJXvH3CoqhRUFDNAoGAEJdwU2ZHCXDRR1LW8WaU3/u+VOh3qnh3qdPTqb+ra74t3OsTUcGvhsGPTJQ1r5UjJk+nGFiu+IGT9+FwWjVDQo0SiEIHWfdMPAl28uNG1SkQIIXg+eQ4aUmaVgMnfrjaY4LoXVBFMFJxngslgXWIk/kGPjQkpzsBhOi/awnLSsECgYEAkSEb3CXfq1r/8qXMTzI+A9CGPr++aC2H6ytFNGJq4J+P40u1tcsfkwNGcQ0Hp+Qz3FHBYFuMxtjXDq0QSvVKEhdV9bjlZhTqN3lqWcCukU3ESqRbxsIj9izuncpxSP7G19WEU0anGD9ev+QWYdHPTBY9nn1+H0tkJjqh4XkRBuY=
|
|
@ -1 +0,0 @@
|
|||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2W+CvtvJCmHtQrxz1hyQCyRUt/ehzhZgb/mp6QFVjAxgVMgFm1hKsZkwFde3AR4iAowwwjRQaTmS1syIlKXVigNCaPlbvc4Fkj1Mhnvy4pOBhTWd/IH6JX3ShpyzRZ5+JxUf37GUO4YOMFg2qyZoSfmUi0oTs9riG+C2ipNqstdnOmXqbn4K25PU8FmUIl5M6gVm62Q6cNKaedAs6CMBJ2Cfmu74W/fI6XkviY56ec1pRY7/UYMzkFDsMDiuFntoDQFXhQuQT/ba5JaU4dWyZYreAhAh+vHwho4KEzlPdlG4LnIMgODuRVTxkGDwDLomTBhWqlxNhO89V8GCDAC+FQIDAQAB
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"method" : "ping",
|
||||
"id" : "daa31852"
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDxcYLVvKYHpxJQe49Z7boilJfmp/uYAr4rQNN2El9nPG3hVRYIsmhzIeByU7ZJLn0EG5D2G6T4SlydfbHbHK3NMciTgmyAZRJl10z/KIlPG1n6DaK5Oo6VT9ty+uI7JKFdQQwzSrPP2u4KNERqK4vtfsxdiAcMXS/hUncID4ARvmigmcTOTcosdH57axSqf1xfJJ12zl3QPb6wppsBAJrZ811Ll8eZYhFoQwe0oE3T5Q0aqK0Ecgh4cYhF63nEAKkcPOMxkhcZWpr3YzqD7Rj9VAzk7xRM/QJ1SjsVwdB+YCQK1tbTloTY3BqtEib9ErZvjlaB26GZbV32kNsPnwHXAgMBAAECggEAJBVtUskzXRBsjcexmGSNfW6MtyWi1ciPKEKzd8FuLa0b1OHU/a7AKnjFJQD6zLwcZflCtG1UPeFLLyRiaNdD6FdI3TbQRW4Vjk/bi4TA5Kg3TcYs7BbiyVDagLgbCHDEhv3aN24yKl3TVoYSNXXVn0RkgZP7Ta89oSSkcnlyj/QFOA8RfIm5q+qiAPvOqFf8NKlm0hZDrxWHG/OduYHq25S9ohNzymyM+1CYTrVFZCTfscDvLBDd2MVpNRyxoQquiMlfIEUBGlu9uFWy9Hovv8Sd3irgvcBtjL8iPaMzJe3p6T83KL2AgXHcYT7r9Vlvqib5x1iTYvlid25zzQ19IQKBgQD1BISfPugEp+fAdoGHOygG+gzNE8/1ldhnA9bTCZZ3FQBTI2lPRZBFDKuirc6glbCHiWrd8HoJ3BO3kbGzq4EDBf0VDFby/7nkrroTW+RIn+THlfciWgjSATGgCPOHmvM6JmIpuYsbKkdmV4ITVWwvLPxDAwlMnHyJOuYTj8xJ4QKBgQD8Q/rdWoRBSVCrDb0QO/Or5FAJELmYFtFWBBCEpadr9ci0e/mSbbZlXjP98m4XesIIRpcpG3gU8P3hKB7H60ynPN6Jyw33YhIlJHaEjYISN/h5Vw0ybQkyFR9CBRjOp59CBcb8AsdA/OQjxFz8h46PbPLCWCR5kM3tKbuNobBytwKBgQC4Rr+gLWW/KrEolXhxxtIh/SpniwEbSanKQJ7vdgSOZ2MpJDbuAfmxlQf5gBMpv6tXJMkVRuniRH0n0RH/eXu8VGK10+QJOsAK+EbGjJQy8t7UJTwLv/9mQrOaE2FlmepYz8mAbCXtNm0g0avo8pQ9Hu5TUBNMZV1csMmd6MbSwQKBgQDit+X6kqNSWaXaVdqZgIga8HLN8u4aNkelWrnNvWOer6LWMqW2aEwJBoULsponF/jSnz6zfzCJAZ3qgbhITLzzgM0wYgIHV2ifYQnzT4qa/RqfUxFVRJGDJWCWYSZOdG+5Up/nVkflrGMNkilP/DSvymbTK4x8hRvODje1rp96OQKBgFmXLpHPN8WAXP7VVyb3RqYYRgtxXjY2yj/CYwnXl0k4Uji08S9Ke2AqljiSzmZs1Wh1UBLap90F0smRVHmYgwl2rPjNiXbyKd4W9R4vEVYgEmcnvzba107o76qFmEbyW/K7a7K/jKaH8KAytgR/cHd+SIBctcDv8uKmZ1MJT9p8
|
|
@ -1 +0,0 @@
|
|||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8XGC1bymB6cSUHuPWe26IpSX5qf7mAK+K0DTdhJfZzxt4VUWCLJocyHgclO2SS59BBuQ9huk+EpcnX2x2xytzTHIk4JsgGUSZddM/yiJTxtZ+g2iuTqOlU/bcvriOyShXUEMM0qzz9ruCjREaiuL7X7MXYgHDF0v4VJ3CA+AEb5ooJnEzk3KLHR+e2sUqn9cXySdds5d0D2+sKabAQCa2fNdS5fHmWIRaEMHtKBN0+UNGqitBHIIeHGIRet5xACpHDzjMZIXGVqa92M6g+0Y/VQM5O8UTP0CdUo7FcHQfmAkCtbW05aE2NwarRIm/RK2b45WgduhmW1d9pDbD58B1wIDAQAB
|
|
@ -1 +0,0 @@
|
|||
HHxV3e+igdTJIaBOT4340WBcJjBgjUPoP2SifAq0xuS1EjnTCWXeg6jr1pUX9HkUlMwTrZNFwye6gUIowGqsc1QrC4PReoZfBmTGR3dWXWvW01KHXbTodlnRjUFcHBUzNPpMDsE6d2J5+Mb+HGAsxXR9i4eN2jRGfO5YZ1It40vS4PCdbCtdQJ21bwnNnvHWq9+tMJRTnJ1M+niFjil9MKgS0fCLpwpG+fumnh0iRlS7wyN+y12IDSalvGEAJaX7iSN/tcWfLaQMXjIbYEsi9RMEXUibZWYQV7pkllqM5wqZpmNv52GeUPEbowtdnczA1IpsSyaj5MV4Q8DNqCoaXg==
|
Loading…
Add table
Add a link
Reference in a new issue