diff options
-rw-r--r-- | mod/hostxrd.php | 25 | ||||
-rw-r--r-- | view/xrd_host.tpl | 14 |
2 files changed, 32 insertions, 7 deletions
diff --git a/mod/hostxrd.php b/mod/hostxrd.php index e057cccad..a1c24765b 100644 --- a/mod/hostxrd.php +++ b/mod/hostxrd.php @@ -5,6 +5,31 @@ require_once('include/crypto.php'); function hostxrd_init(&$a) { header('Access-Control-Allow-Origin: *'); header("Content-type: text/xml"); + $pubkey = get_config('system','site_pubkey'); + + if(! $pubkey) { + + // should only have to ever do this once. + + $res=openssl_pkey_new(array( + 'digest_alg' => 'sha1', + 'private_key_bits' => 4096, + 'encrypt_key' => false )); + + + $prvkey = ''; + + openssl_pkey_export($res, $prvkey); + + // Get public key + + $pkey = openssl_pkey_get_details($res); + $pubkey = $pkey["key"]; + + set_config('system','site_prvkey', $prvkey); + set_config('system','site_pubkey', $pubkey); + } + $tpl = file_get_contents('view/xrd_host.tpl'); echo str_replace(array( '$zroot','$domain','$zot_post','$bigkey'),array(z_root(),z_path(),z_root() . '/post', salmon_key(get_config('system','site_pubkey'))),$tpl); diff --git a/view/xrd_host.tpl b/view/xrd_host.tpl index d27f948ac..ee34c1e46 100644 --- a/view/xrd_host.tpl +++ b/view/xrd_host.tpl @@ -8,22 +8,22 @@ <Link rel='acct-mgmt' href='$domain/amcd' /> <Link rel='http://services.mozilla.com/amcd/0.1' href='$domain/amcd' /> <Link rel="http://oexchange.org/spec/0.8/rel/resident-target" type="application/xrd+xml" - href="$domain/oexchange/xrd" /> + href="$domain/oexchange/xrd" /> <Link rel="http://purl.org/zot/1.0/post" - href="$zot_post" /> + href="$zot_post" /> <Property xmlns:zot="http://purl.og/zot/1.0" - type="http://purl.org/zot/1.0/version" - zot:version="1" /> + type="http://purl.org/zot/1.0/version" + zot:version="1" /> <Property xmlns:zot="http://purl.og/zot/1.0" type="http://purl.org/zot/1.0/accept" zot:accept="application/atom+xml" /> - <Property xmlns:mk="http://salmon-protocol.org/ns/magic-key" - type="http://salmon-protocol.org/ns/magic-key" - mk:key_id="1">$bigkey</Property> + <Property xmlns:mk="http://salmon-protocol.org/ns/magic-key" + type="http://salmon-protocol.org/ns/magic-key" + mk:key_id="1">$bigkey</Property> </XRD> |