save() public static method

Save a key to a file
public static save ( Key | KeyPair $key, string $filename = '' ) : boolean
$key Key | KeyPair
$filename string
return boolean
Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 /**
  * 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.");
 }
Esempio n. 3
0
                    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);
Esempio n. 4
0
<?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');
Esempio n. 5
0
 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);
 }
Esempio n. 6
0
 /**
  * Generate encryption key and save the file
  *
  */
 public static function generateKey()
 {
     $enc_key = KeyFactory::generateEncryptionKey();
     KeyFactory::save($enc_key, config('laracrypt.path'));
 }
Esempio n. 7
0
<?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);
}