protected function verifySignature() { $publicAccountKey = PublicKey::formatPEM(SocialRecordManager::retrieveSocialRecord($this->headers[SONIC_HEADER__SOURCE_GID])->getAccountPublicKey()); if (!Signature::verifySignature($this->getStringForRequestSignature(), $publicAccountKey, $this->headers[SONIC_HEADER__SIGNATURE])) { throw new MalformedRequestHeaderException("Invalid request signature!"); } else { return true; } }
public function testSignature() { $this->keypair1 = new Keypair(); $this->private1 = $this->keypair1->getPrivateKey(); $this->public1 = $this->keypair1->getPublicKey(); $this->keypair2 = new KeyPair($this->private1, $this->public1); $this->assertEquals(1, Signature::verifySignature('testmessage', $this->public1, Signature::createSignature('testmessage', $this->private1))); $this->assertEquals(1, Signature::verifySignature('testmessage', $this->keypair2->getPublicKey(), Signature::createSignature('testmessage', $this->private1))); $this->assertEquals(0, Signature::verifySignature('othertestmessage', $this->public1, Signature::createSignature('testmessage', $this->private1))); }
public function signRequest($privateAccountKey) { $this->headers[SONIC_HEADER__SIGNATURE] = Signature::createSignature($this->getStringForRequestSignature(), $privateAccountKey); }
protected function verifySignature() { $socialRecord = SocialRecordManager::retrieveSocialRecord($this->headers[SONIC_HEADER__SOURCE_GID]); if ($this->expectedGID !== NULL) { if ($this->headers[SONIC_HEADER__SOURCE_GID] != $this->expectedGID && $this->headers[SONIC_HEADER__SOURCE_GID] != $socialRecord->getPlatformGID()) { throw new MalformedRequestHeaderException('Request signature from unexpected source GID. Expected [' . $this->expectedGID . '] found [' . $this->headers[SONIC_HEADER__SOURCE_GID] . ']'); } } if (!Signature::verifySignature($this->getStringForResponseSignature(), $socialRecord->getAccountPublicKey(), $this->headers[SONIC_HEADER__SIGNATURE])) { throw new MalformedRequestHeaderException("Invalid response signature"); } else { return true; } }
public function verify() { $personalPublicKey = SocialRecordManager::retrieveSocialRecord($this->globalID)->getPersonalPublicKey(); return Signature::verifySignature($this->getStringForSignature(), $personalPublicKey, $this->signature); }