sign($text); } public function verifySignature($text, $signature) { return RSA::loadPublicKey($this['public_key'])->verify($text, $signature); } public function cbCreateKeysIfNecessary() { if (!$this['public_key']) { $this->createKeys(); } } protected function createKeys() { $keypair = RSA::createKey(4096); $this['private_key'] = preg_replace("/\r/", "", $keypair->toString('PKCS1')); $this['public_key'] = preg_replace("/\r/", "", $keypair->getPublicKey()->toString('PKCS1')); } }