public function testEncryptSymmetric() { $data = new OpenPGP_LiteralDataPacket('This is text.', array('format' => 'u', 'filename' => 'stuff.txt')); $encrypted = OpenPGP_Crypt_Symmetric::encrypt('secret', new OpenPGP_Message(array($data))); $decrypted = OpenPGP_Crypt_Symmetric::decryptSymmetric('secret', $encrypted); $this->assertEquals($decrypted[0]->data, 'This is text.'); }
/** */ public function decryptSymmetric($msg, $passphrase) { $decrypted = OpenPGP_Crypt_Symmetric::decryptSymmetric($passphrase, $msg->message); if (!is_null($decrypted)) { /* It is possible data could be decrypted to junk PGP data * ($decrypted != NULL). Search for valid packets if $decrypted is * returned. */ foreach ($decrypted as $val) { switch (get_class($val)) { case 'OpenPGP_Packet': case 'OpenPGP_ExperimentalPacket': /* Assume that these packets are not valid. */ break; default: return new Horde_Pgp_Element_Message($decrypted); } } } throw new RuntimeException(); }