/** * @param string $message * @param string $signature * * @return GnupgVerificationResult * @throws VerificationFailedException */ public function verify($message, $signature) { try { $result = new GnupgVerificationResult($this->gpg->verify($message, $signature)[0]); if (!$result->wasVerificationSuccessful() && !$result->isKnownKey()) { $this->keyService->importKey($result->getFingerprint(), $this->keyService->downloadKey($result->getFingerprint())); } return new GnupgVerificationResult($this->gpg->verify($message, $signature)[0]); } catch (\Exception $e) { throw new VerificationFailedException($e->getMessage(), $e->getCode(), $e); } }
/** * @dataProvider knownKeyProvider * * @param int $summary * @param bool $expected */ public function testIsKnownKey($summary, $expected) { $result = new GnupgVerificationResult(['summary' => $summary, 'fingerprint' => 'foo']); $this->assertSame($expected, $result->isKnownKey()); }