Friendica Communications Platform
(please note that this is a clone of the repository at github, issues are handled there)
https://friendi.ca
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
638 B
34 lines
638 B
<?php |
|
|
|
include('library/asn1.php'); |
|
|
|
function modexp_init(&$a) { |
|
|
|
if($a->argc != 2) |
|
killme(); |
|
|
|
$nick = $a->argv[1]; |
|
$r = q("SELECT `spubkey` FROM `user` WHERE `nickname` = '%s' LIMIT 1", |
|
dbesc($nick) |
|
); |
|
|
|
if(! count($r)) |
|
killme(); |
|
|
|
$lines = explode("\n",$r[0]['spubkey']); |
|
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; |
|
|
|
header("Content-type: application/magic-public-key"); |
|
echo 'RSA' . '.' . $m . '.' . $e ; |
|
|
|
killme(); |
|
|
|
} |
|
|
|
|