public function testSignAndVerifyNoPubKey() { $obj = new Statement(['actor' => ['mbox' => COMMON_MBOX], 'verb' => ['id' => COMMON_VERB_ID], 'object' => new Activity(['id' => COMMON_ACTIVITY_ID . '/StatementTest/testSignAndVerify'])]); $obj->sign('file://' . $GLOBALS['KEYs']['private'], $GLOBALS['KEYs']['password']); $result = $obj->verify(); $this->assertFalse($result['success'], 'success return value'); $this->assertSame($result['reason'], 'No public key found or provided for verification', 'reason'); }
public function testSignedAndVerifiedX5c() { $statement = new Statement(['actor' => ['mbox' => COMMON_MBOX], 'verb' => ['id' => COMMON_VERB_ID], 'object' => new Activity(['id' => COMMON_ACTIVITY_ID . '/StatementVariationsTest/Signed'])]); $statement->sign('file://' . $GLOBALS['KEYs']['private'], $GLOBALS['KEYs']['password'], ['x5c' => 'file://' . $GLOBALS['KEYs']['public']]); foreach (self::$lrss as $lrs) { $saveResponse = $lrs->saveStatement($statement); $this->assertInstanceOf('TinCan\\LRSResponse', $saveResponse); if (!$saveResponse->success) { print_r($saveResponse); } $this->assertTrue($saveResponse->success, "successful request"); $retrieveResponse = $lrs->retrieveStatement($saveResponse->content->getId(), ['attachments' => true]); $this->assertInstanceOf('TinCan\\LRSResponse', $retrieveResponse); $this->assertTrue($retrieveResponse->success); $this->assertInstanceOf('TinCan\\Statement', $retrieveResponse->content); $verificationResult = $retrieveResponse->content->verify(); $this->assertTrue($verificationResult['success'], 'verify signature'); } }