/** * @group file */ public function testVerifyFileDualDetachedSignature() { // {{{ first signature $firstSignature = new Crypt_GPG_Signature(); $firstSignature->setId('T7+toJbsFr8KMTWN+M7lF3xSmmA'); $firstSignature->setKeyFingerprint('8D2299D9C5C211128B32BBB0C097D9EC94C06363'); $firstSignature->setKeyId('C097D9EC94C06363'); $firstSignature->setCreationDate(1221960707); $firstSignature->setExpirationDate(0); $firstSignature->setValid(true); $userId = new Crypt_GPG_UserId(); $userId->setName('First Keypair Test Key'); $userId->setComment('do not encrypt important data with this key'); $userId->setEmail('*****@*****.**'); $firstSignature->setUserId($userId); // }}} // {{{ second signature $secondSignature = new Crypt_GPG_Signature(); $secondSignature->setId('HJd1yvMbEbW5facuxkDtvwymKrw'); $secondSignature->setKeyFingerprint('880922DBEA733E906693E4A903CC890AFA1DAD4B'); $secondSignature->setKeyId('03CC890AFA1DAD4B'); $secondSignature->setCreationDate(1221960707); $secondSignature->setExpirationDate(0); $secondSignature->setValid(true); $userId = new Crypt_GPG_UserId(); $userId->setName('Second Keypair Test Key'); $userId->setComment('do not encrypt important data with this key'); $userId->setEmail('*****@*****.**'); $secondSignature->setUserId($userId); // }}} // {{{ signature data $signatureData = <<<TEXT -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQBI1aQDwJfZ7JTAY2MRAvkzAKDPnJ030GdYE15mE8smz2oV7zYziwCeJFxf UaTrAgP1Dck9DhHOBhvhwLuIPwMFAEjVpAMDzIkK+h2tSxEC+TMAn38yx3mXk6wP JaPThD7lRVE9ve57AJ0Yy7JwiT9sGXomln4JtRvuSpGtsg== =Gw9D -----END PGP SIGNATURE----- TEXT; // }}} $expectedSignatures = array($firstSignature, $secondSignature); $filename = $this->getDataFilename('testFileMedium.plain'); $signatures = $this->gpg->verifyFile($filename, $signatureData); $this->assertSignaturesEquals($expectedSignatures, $signatures); }
/** * @group fluent */ public function testFluentInterface() { $signature = new Crypt_GPG_Signature(); $returnedSignature = $signature->setId('KuhELanvhPRXozEjFWb2mam1q20'); $this->assertEquals($signature, $returnedSignature, 'Failed asserting fluent interface works for setId() method.'); $signature = new Crypt_GPG_Signature(); $returnedSignature = $signature->setKeyFingerprint('8D2299D9C5C211128B32BBB0C097D9EC94C06363'); $this->assertEquals($signature, $returnedSignature, 'Failed asserting fluent interface works for setKeyFingerprint() ' . 'method.'); $signature = new Crypt_GPG_Signature(); $returnedSignature = $signature->setKeyId('0C097D9EC94C06363'); $this->assertEquals($signature, $returnedSignature, 'Failed asserting fluent interface works for setKeyId() method'); $signature = new Crypt_GPG_Signature(); $returnedSignature = $signature->setCreationDate(1234567890); $this->assertEquals($signature, $returnedSignature, 'Failed asserting fluent interface works for setCreationDate() ' . 'method.'); $signature = new Crypt_GPG_Signature(); $returnedSignature = $signature->setExpirationDate(1234567890); $this->assertEquals($signature, $returnedSignature, 'Failed asserting fluent interface works for setExpirationDate() ' . 'method.'); $signature = new Crypt_GPG_Signature(); $returnedSignature = $signature->setValid(true); $this->assertEquals($signature, $returnedSignature, 'Failed asserting fluent interface works for setValid() method.'); $signature = new Crypt_GPG_Signature(); $returnedSignature = $signature->setUserId(new Crypt_GPG_UserId()); $this->assertEquals($signature, $returnedSignature, 'Failed asserting fluent interface works for setUserId() method.'); }
/** * @group file */ public function testDecryptVerifyFileSignedOnly() { // {{{ signature $signature = new Crypt_GPG_Signature(); $signature->setId('vctnI/HnsRYmqcVwCJcJhS60lKU'); $signature->setKeyFingerprint('8D2299D9C5C211128B32BBB0C097D9EC94C06363'); $signature->setKeyId('C097D9EC94C06363'); $signature->setCreationDate(1221960707); $signature->setExpirationDate(0); $signature->setValid(true); $userId = new Crypt_GPG_UserId(); $userId->setName('First Keypair Test Key'); $userId->setComment('do not encrypt important data with this key'); $userId->setEmail('*****@*****.**'); $signature->setUserId($userId); // }}} $expectedMd5Sum = 'f96267d87551ee09bfcac16921e351c1'; $expectedResults = array('data' => null, 'signatures' => array($signature)); $inputFilename = $this->getDataFilename('testVerifyFileNormalSignedData.asc'); $outputFilename = $this->getTempFilename('testDecryptVerifyFileSignedData.plain'); $results = $this->gpg->decryptAndVerifyFile($inputFilename, $outputFilename); $this->assertDecryptAndVerifyResultsEquals($expectedResults, $results); $md5Sum = $this->getMd5Sum($outputFilename); $this->assertEquals($expectedMd5Sum, $md5Sum); }