--- /dev/null
+<?php
+
+require_once('library/asn1.php');
+
+function salmon_key($pubkey) {
+ $lines = explode("\n",$pubkey);
+ unset($lines[0]);
+ unset($lines[count($lines)]);
+ $x = base64_decode(implode('',$lines));
+
+ $r = ASN_BASE::parseASNString($x);
+
+ $m = $r[0]->asnData[1]->asnData[0]->asnData[0]->asnData;
+ $e = $r[0]->asnData[1]->asnData[0]->asnData[1]->asnData;
+
+
+ return 'RSA' . '.' . $m . '.' . $e ;
+}
killme();
$nick = $a->argv[1];
- $r = q("SELECT `pubkey` FROM `user` WHERE `nickname` = '%s' LIMIT 1",
+ $r = q("SELECT `spubkey` FROM `user` WHERE `nickname` = '%s' LIMIT 1",
dbesc($nick)
);
if(! count($r))
killme();
- $lines = explode("\n",$r[0]['pubkey']);
+ $lines = explode("\n",$r[0]['spubkey']);
unset($lines[0]);
unset($lines[count($lines)]);
$x = base64_decode(implode('',$lines));
killme();
-}
\ No newline at end of file
+}
+
<?php
+require_once('salmon.php');
function xrd_content(&$a) {
if(! count($r))
killme();
+ $salmon_key = salmon_key($r[0]['spubkey']);
+
+
+
+
$tpl = load_view_file('view/xrd_person.tpl');
$o = replace_macros($tpl, array(
'$profile_url' => $a->get_baseurl() . '/profile/' . $r[0]['nickname'],
'$photo' => $a->get_baseurl() . '/photo/profile/' . $r[0]['uid'],
'$salmon' => $a->get_baseurl() . '/salmon/' . $r[0]['nickname'] . '/mention',
- '$modexp' => $a->get_baseurl() . '/modexp/' . $r[0]['nickname']
+ '$modexp' => 'data:application/magic-public-key,' . $salmon_key
));
echo $o;
killme();
-}
\ No newline at end of file
+}
<Link rel='http://webfinger.net/rel/avatar'
href='$photo' />
<Link rel="salmon" href="$salmon" />
- <Link rel="magic-public-key"
- type="application/magic-public-key"
- href="$modexp" />
+ <Link rel="magic-public-key" href="$modexp" />
</XRD>