loadSignaturePublicKey() public static method

Load, specifically, a signature public key from a file
public static loadSignaturePublicKey ( string $filePath ) : SignaturePublicKey
$filePath string
return SignaturePublicKey
Esempio n. 1
0
     // Load it from disk
     switch ($keyConfig['type']) {
         case 'AuthenticationKey':
             $keys[$index] = KeyFactory::loadAuthenticationKey($path);
             break;
         case 'EncryptionKey':
             $keys[$index] = KeyFactory::loadEncryptionKey($path);
             break;
         case 'EncryptionPublicKey':
             $keys[$index] = KeyFactory::loadEncryptionPublicKey($path);
             break;
         case 'EncryptionSecretKey':
             $keys[$index] = KeyFactory::loadEncryptionSecretKey($path);
             break;
         case 'SignaturePublicKey':
             $keys[$index] = KeyFactory::loadSignaturePublicKey($path);
             break;
         case 'SignatureSecretKey':
             $keys[$index] = KeyFactory::loadSignatureSecretKey($path);
             break;
         case 'EncryptionKeyPair':
             $keys[$index] = KeyFactory::loadEncryptionKeyPair($path);
             break;
         case 'SignatureKeyPair':
             $keys[$index] = KeyFactory::loadSignatureKeyPair($path);
             break;
         default:
             throw new \Error(\trk('errors.crypto.unknown_key_type', $keyConfig['type']));
     }
 } else {
     // We must generate this key/keypair at once:
Esempio n. 2
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);
 }