public function testFileStorage() { $filename = \tempnam(__DIR__ . '/tmp/', 'key'); $key = KeyFactory::generateEncryptionKeyPair(); KeyFactory::save($key, $filename); $copy = KeyFactory::loadEncryptionKeyPair($filename); $this->assertEquals($key->getPublicKey()->getRawKeyMaterial(), $copy->getPublicKey()->getRawKeyMaterial()); \unlink($filename); }
/** * Execute the console command. * * @return mixed */ public function handle() { $enc_key = KeyFactory::generateEncryptionKey(); try { KeyFactory::save($enc_key, config('laracrypt.path')); } catch (\Throwable $t) { $this->error($t); } return $this->info("Your LaraCrypt encryption key has been generated."); }
KeyFactory::save($keys[$index], $path); break; case 'EncryptionSecretKey': $kp = KeyFactory::generateEncryptionKeyPair(); $keys[$index] = $kp->getSecretKey(); KeyFactory::save($keys[$index], $path); break; case 'SignatureSecretKey': $kp = KeyFactory::generateSignatureKeyPair(); $keys[$index] = $kp->getSecretKey(); KeyFactory::save($keys[$index], $path); break; case 'EncryptionKeyPair': $keys[$index] = KeyFactory::generateEncryptionKeyPair(); KeyFactory::save($keys[$index], $path); break; case 'SignatureKeyPair': $keys[$index] = KeyFactory::generateSignatureKeyPair(); KeyFactory::save($keys[$index], $path); break; default: throw new \Error(\trk('errors.crypto.unknown_key_type', $keyConfig['type'])); } } } // Now that we have a bunch of Keys stored in $keys, let's load them into // our singleton. $state->keyring = $keys; }; $key_management_closure(); unset($key_management_closure);
<?php /** * Created by PhpStorm. * User: Glenn * Date: 2016-05-27 * Time: 11:22 AM */ include "/../vendor/autoload.php"; use ParagonIE\Halite\KeyFactory; // Generate a new random encryption key: $encryptionKey = KeyFactory::generateEncryptionKey(); // Saving a key to a file: KeyFactory::save($encryptionKey, './sec/encryption.key');
public function testLegacySignKeyStorage() { $sign_keypair = KeyFactory::deriveSignatureKeyPair('apple', "\t\n\v\f\r" . "", true); $sign_secret = $sign_keypair->getSecretKey(); $sign_public = $sign_keypair->getPublicKey(); $file_secret = \tempnam(__DIR__ . '/tmp', 'key'); $file_public = \tempnam(__DIR__ . '/tmp', 'key'); $this->assertTrue(KeyFactory::save($sign_secret, $file_secret) !== false); $this->assertTrue(KeyFactory::save($sign_public, $file_public) !== false); $load_public = KeyFactory::loadSignaturePublicKey($file_public); $this->assertTrue($load_public instanceof SignaturePublicKey); $this->assertTrue(\hash_equals($sign_public->getRawKeyMaterial(), $load_public->getRawKeyMaterial())); \unlink($file_secret); \unlink($file_public); }
/** * Generate encryption key and save the file * */ public static function generateKey() { $enc_key = KeyFactory::generateEncryptionKey(); KeyFactory::save($enc_key, config('laracrypt.path')); }
<?php declare (strict_types=1); use ParagonIE\Halite\HiddenString; use ParagonIE\Halite\Password; use ParagonIE\Halite\KeyFactory; // First, manage the keys if (!\file_exists('01-secret-key.txt')) { $secretKey = KeyFactory::generateEncryptionKey(); KeyFactory::save($secretKey, '01-secret-key.txt'); } else { $secretKey = KeyFactory::loadEncryptionKey('01-secret-key.txt'); } $password = new HiddenString('correct horse battery staple'); $hash = Password::hash($password, $secretKey); if (Password::verify($password, $hash, $secretKey)) { echo 'Access granted', "\n"; } else { echo 'Access DENIED!', "\n"; exit(255); }