summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/OStatus/classes/Magicsig.php14
1 files changed, 12 insertions, 2 deletions
diff --git a/plugins/OStatus/classes/Magicsig.php b/plugins/OStatus/classes/Magicsig.php
index d1d6a6d45..82b6017de 100644
--- a/plugins/OStatus/classes/Magicsig.php
+++ b/plugins/OStatus/classes/Magicsig.php
@@ -102,7 +102,17 @@ class Magicsig extends Memcached_DataObject
public function generate($user_id, $key_length = 512)
{
- // @fixme new key generation
+ $rsa = new Crypt_RSA();
+
+ extract($rsa->createKey());
+
+ $rsa->loadKey($privatekey);
+
+ $this->privateKey = $rsa;
+
+ $this->publicKey = new Crypt_RSA();
+ $this->publicKey->loadKey($publickey);
+
$this->user_id = $user_id;
$this->insert();
}
@@ -113,7 +123,7 @@ class Magicsig extends Memcached_DataObject
$mod = base64_url_encode($this->publicKey->modulus->toBytes());
$exp = base64_url_encode($this->publicKey->exponent->toBytes());
$private_exp = '';
- if ($full_pair && $private_key->getExponent()) {
+ if ($full_pair && $this->privateKey->exponent->toBytes()) {
$private_exp = '.' . base64_url_encode($this->privateKey->exponent->toBytes());
}