mirror of
https://github.com/friendica/friendica
synced 2024-11-18 04:23:41 +00:00
inline salmon magic keys
This commit is contained in:
parent
cc64742e23
commit
013d2604f8
4 changed files with 31 additions and 8 deletions
18
include/salmon.php
Normal file
18
include/salmon.php
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?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 ;
|
||||
}
|
|
@ -8,14 +8,14 @@ function modexp_init(&$a) {
|
|||
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));
|
||||
|
@ -31,3 +31,4 @@ function modexp_init(&$a) {
|
|||
killme();
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
require_once('salmon.php');
|
||||
|
||||
function xrd_content(&$a) {
|
||||
|
||||
|
@ -16,6 +17,11 @@ 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(
|
||||
|
@ -23,7 +29,7 @@ function xrd_content(&$a) {
|
|||
'$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;
|
||||
|
|
|
@ -15,8 +15,6 @@
|
|||
<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>
|
||||
|
|
Loading…
Reference in a new issue