Derive a key pair for public key encryption from a password and salt
public static deriveEncryptionKeyPair ( |
||
$password | ||
$salt | string | |
$level | string | Security level for KDF |
return |
public function testLegacyEncKeyStorage() { $enc_keypair = KeyFactory::deriveEncryptionKeyPair('apple', "\t\n\v\f\r" . "", true); $enc_secret = $enc_keypair->getSecretKey(); $enc_public = $enc_keypair->getPublicKey(); $file_secret = \tempnam(__DIR__ . '/tmp', 'key'); $file_public = \tempnam(__DIR__ . '/tmp', 'key'); $this->assertTrue(KeyFactory::save($enc_secret, $file_secret) !== false); $this->assertTrue(KeyFactory::save($enc_public, $file_public) !== false); $load_public = KeyFactory::loadEncryptionPublicKey($file_public); $this->assertTrue($load_public instanceof EncryptionPublicKey); $this->assertTrue(\hash_equals($enc_public->getRawKeyMaterial(), $load_public->getRawKeyMaterial())); \unlink($file_secret); \unlink($file_public); }