Exemple #1
0
 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;
     }
 }
Exemple #2
0
 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)));
 }
Exemple #3
0
 public function signRequest($privateAccountKey)
 {
     $this->headers[SONIC_HEADER__SIGNATURE] = Signature::createSignature($this->getStringForRequestSignature(), $privateAccountKey);
 }
Exemple #4
0
 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);
 }