function store($config, $webid, $mbox, $password, $active, $mbox_sha1sum, $authreqissuer = NULL) { if ($active == 'on') { $active = 1; } else { $active = 0; } if ($mbox_sha1sum == 'on') { $mbox_sha1sum = 1; } else { $mbox_sha1sum = 0; } // set up db $db = new db_class(); $db->connect('localhost', $config['db_user'], $config['db_pwd'], $config['db_name']); $sql = "select mbox from passwords where webid = '" . $webid . "' and mbox = '" . $mbox . "' and verified_mbox = 1"; $results = $db->select($sql); if ($row = mysql_fetch_assoc($results)) { $mbox = $row['mbox']; $verified_mbox = 1; } else { $password = create_password(50, true, true, false); $verified_mbox = 0; $to = $mbox; $subject = $_SERVER["SERVER_NAME"] . ' - Email Verifier'; $message = "https://" . $_SERVER["SERVER_NAME"] . "/?action=verify&access_token=" . urlencode($password); $headers = 'From: password.manager@' . $_SERVER["SERVER_NAME"] . "\r\n" . 'Reply-To: password.manager@' . $_SERVER["SERVER_NAME"] . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); } $x509 = $_SERVER['SSL_CLIENT_CERT']; if (isset($password) && $password != '') { $sql = 'INSERT INTO passwords (webid, mbox, password, verified_mbox, active, publish_mbox_sha1sum, X509_public_key) VALUES ("' . $webid . '","' . $mbox . '","' . $password . '",' . $verified_mbox . ',' . $active . ',' . $mbox_sha1sum . ',"' . $x509 . '") ON DUPLICATE KEY UPDATE mbox="' . $mbox . '", password="******", verified_mbox=' . $verified_mbox . ', active=' . $active . ', publish_mbox_sha1sum=' . $mbox_sha1sum . ', X509_public_key="' . $x509 . '"'; } else { $sql = 'INSERT INTO passwords (webid, mbox, verified_mbox, active, publish_mbox_sha1sum, X509_public_key) VALUES ("' . $webid . '","' . $mbox . '",' . $verified_mbox . ',' . $active . ',' . $mbox_sha1sum . ',"' . $x509 . '") ON DUPLICATE KEY UPDATE mbox="' . $mbox . '", verified_mbox=' . $verified_mbox . ', active=' . $active . ', publish_mbox_sha1sum=' . $mbox_sha1sum . ', X509_public_key="' . $x509 . '"'; } // print $sql . "<br/>"; $results = $db->update_sql($sql); if (!isset($authreqissuer)) { main(); } else { webid_redirect($authreqissuer, $webid); } }
$certrsakey = openssl_pkey_get_public_hex(); $rdf = $_POST['rdf']; if (empty($rdf) || $rdf == '0') { $rdf = '<rdf:RDF'; printrdf(' xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"'); printrdf(' xmlns:cert="http://www.w3.org/ns/auth/cert#"'); printrdf(' xmlns:rsa="http://www.w3.org/ns/auth/rsa#">'); printrdf('<rsa:RSAPublicKey>'); $foaffile = $subjectAltName['URI'] ? $subjectAltName['URI'] : 'TYPE YOUR WEBID HERE'; printrdf(' <cert:identity rdf:resource="' . $foaffile . '"/>'); printrdf(' <rsa:public_exponent cert:decimal="'); $exponent = $certrsakey['exponent'] ? hexdec($certrsakey['exponent']) : 'TYPE THE EXPONENT OF YOUR PUBLIC KEY HERE'; printrdf($exponent . '"/>'); printrdf(' <rsa:modulus cert:hex="'); $modulus = $certrsakey['modulus'] ? $certrsakey['modulus'] : 'TYPE THE MODULUS OF YOUR PUBLIC RSA KEY HERE'; printrdf($modulus . '"/>'); printrdf('</rsa:RSAPublicKey>'); printrdf('</rdf:RDF>'); } $res = $db->select(" select * from foaf where username like '{$_POST['uri']}' "); if ($db->row_count == 0) { $db->insert_sql(" insert into foaf (id, username, rdf) VALUES (NULL, '{$_POST['uri']}', '{$rdf}') "); } else { $db->update_sql(" update foaf set rdf = '{$_POST['rdf']}' , rdf2 = '{$rdf}' where username like '{$_POST['uri']}' "); } print "Congratulations, you have successfully created a foaf file, which can be permanently accessed here: <br/><br/><a href='http://{$_SERVER['HTTP_HOST']}/{$_POST['uri']}'>http://{$_SERVER['HTTP_HOST']}/{$_POST['uri']}</a>"; ?> </div> </body> </html>