Commit 29ac42ad authored by mmn's avatar mmn

Diaspora public key published in WebFinger

parent 1076a5e2
......@@ -1320,6 +1320,8 @@ class OStatusPlugin extends Plugin
if ($magicsig instanceof Magicsig) {
$xrd->links[] = new XML_XRD_Element_Link(Magicsig::PUBLICKEYREL,
'data:application/magic-public-key,'. $magicsig->toString());
$xrd->links[] = new XML_XRD_Element_Link(Magicsig::DIASPORA_PUBLICKEYREL,
base64_encode($magicsig->exportPublicKey()));
}
// TODO - finalize where the redirect should go on the publisher
......
......@@ -36,6 +36,7 @@ require_once 'Crypt/RSA.php';
class Magicsig extends Managed_DataObject
{
const PUBLICKEYREL = 'magic-public-key';
const DIASPORA_PUBLICKEYREL = 'diaspora-public-key';
public $__table = 'magicsig';
......@@ -184,6 +185,12 @@ class Magicsig extends Managed_DataObject
return 'RSA.' . $mod . '.' . $exp . $private_exp;
}
public function exportPublicKey($format=CRYPT_RSA_PUBLIC_FORMAT_PKCS1)
{
$this->publicKey->setPublicKey();
return $this->publicKey->getPublicKey($format);
}
/**
* importKeys will load the object's keypair string, which initiates
* loadKey() and configures Crypt_RSA objects.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment