コード例 #1
0
ファイル: servertest.php プロジェクト: billstclair/trubanc
// servertest.php
// Test code for the Trubanc server
// Currently dangerous to run this on a real database, since it makes it inconsistent
require_once "server.php";
require_once "fsdb.php";
require_once "ssl.php";
$db = new fsdb("../trubancdb");
$ssl = new ssl();
$server = new server($db, $ssl, false, 'Trubanc');
$u = $server->u;
// utility instance
$tokenid = $server->tokenid;
$bankid = $server->bankid;
$t = $server->t;
$privkey = "-----BEGIN RSA PRIVATE KEY-----\nMIIBOwIBAAJBAMwfcmkk2coTuYAEbdZ5iXggObNPzbSiDnVtndZFe4/4Xg0IQPfp\nQ04OkhWIftMy1OjFhGlBzzNzdW98KYwKMgsCAwEAAQJASAgk4LPPYz84q9NkS1ZS\nS6Dbm8pipga2IXxQQaf9ZZ02vWpJR0tTlxq36Zl5P+aAbMck0AvHLgiawx0qWxRz\n2QIhAPwyHhCeoZ972KcRi4AIVsWtkGfQsVpVbBOzuFmtAdU9AiEAzzOwvhW6az25\nMyxD5VnbEhswT+lDnGAx/WSsHlPqaOcCIQCM0ac7/Heex9Z3ozJTsVRSWNHTRhJh\nsGUCs01ytUnauQIgeZrNrRHVgeEM04K0KmPtFZhNZ2jwnFM8o4m1FmuLlJsCIQDc\n9tCyRjE3Zj0tXfZL2n6DGeyAc0OsfdQn6V0tFPf6hg==\n-----END RSA PRIVATE KEY-----\n";
$pubkey = $ssl->privkey_to_pubkey($privkey);
$id = $ssl->pubkey_id($pubkey);
$privkey2 = "-----BEGIN RSA PRIVATE KEY-----\nMIIBOwIBAAJBAK5kvoBZ9mw6xpt7M0M383q5/mhvzLTr1HUG9kr52aJyaV7OegEQ\nndsN45klFNvzD4slOuh2blg4ca7DuuARuYUCAwEAAQJBAI+aabwrWF268HxrsMSz\nOA1hRvscxMZeQ66yMvF+WBYJIE873UDxUUMgvYJ0Dz6kg6u8BFBKcxWBCIP8e2Bi\np2kCIQDaH2fPpAd477Xad+BXUiiSqOgWrEIzMiAkZsE2Q+XgYwIhAMytXoq6eZar\n+id+XvcTilxSVagqkC+549Og2HtsDP73AiEAteKEVVBJbt4svY1CxG3dKVaxmd5w\noXJF/TS2HsMFmFMCICZAYGLc5sxZ565p16WlaT5HxOpgygGhZAqxDMRENUmRAiAS\nH3CnJ8Ul3VWvyL5hVjFDHYnD6n18+xqsnjeSQ4bRnQ==\n-----END RSA PRIVATE KEY-----\n";
$pubkey2 = $ssl->privkey_to_pubkey($privkey2);
$id2 = $ssl->pubkey_id($pubkey2);
function bankmsg()
{
    global $bankid, $server, $ssl, $privkey;
    $args = func_get_args();
    $args = array_merge(array($bankid), $args);
    $msg = $server->u->makemsg($args);
    $sig = $ssl->sign($msg, $server->privkey);
    return "{$msg}:\n{$sig}";
}
function custmsg()
{
コード例 #2
0
ファイル: makekey.php プロジェクト: billstclair/trubanc
        return $x;
    }
}
$keysize = mq($_REQUEST['keysize']);
$passphrase = mq($_REQUEST['passphrase']);
?>
<html>
<head>
<title>Public Key Forge</title>
</head>
<body>
<?php 
if ($keysize && is_numeric($keysize)) {
    $ssl = new ssl();
    $privkey = $ssl->make_privkey($keysize, $passphrase);
    $pubkey = $ssl->privkey_to_pubkey($privkey, $passphrase);
    $id = $ssl->pubkey_id($pubkey);
    echo "ID: {$id}<br>\n";
    echo "<pre>\n{$pubkey}</pre>\n";
    echo "<pre>\n{$privkey}</pre>\n";
}
if (!$keysize || !is_numeric($keysize)) {
    $keysize = 512;
}
function hsc($x)
{
    return htmlspecialchars($x);
}
?>
<form method="post">
  <table>
コード例 #3
0
ファイル: clientest.php プロジェクト: billstclair/trubanc
$err = $client->register('George Jetson');
if ($err) {
    echo "Register failed for user 1. {$err}\n";
}
// Adding yourself as a contact won't happen, but it tests the code
$err = $client->addcontact($id, "Me, myself, and I", "A little note to myself");
if ($err) {
    echo "{$err}\n";
}
// Another account created by servertest.php
$privkey2 = "-----BEGIN RSA PRIVATE KEY-----\nMIIBOwIBAAJBAK5kvoBZ9mw6xpt7M0M383q5/mhvzLTr1HUG9kr52aJyaV7OegEQ\nndsN45klFNvzD4slOuh2blg4ca7DuuARuYUCAwEAAQJBAI+aabwrWF268HxrsMSz\nOA1hRvscxMZeQ66yMvF+WBYJIE873UDxUUMgvYJ0Dz6kg6u8BFBKcxWBCIP8e2Bi\np2kCIQDaH2fPpAd477Xad+BXUiiSqOgWrEIzMiAkZsE2Q+XgYwIhAMytXoq6eZar\n+id+XvcTilxSVagqkC+549Og2HtsDP73AiEAteKEVVBJbt4svY1CxG3dKVaxmd5w\noXJF/TS2HsMFmFMCICZAYGLc5sxZ565p16WlaT5HxOpgygGhZAqxDMRENUmRAiAS\nH3CnJ8Ul3VWvyL5hVjFDHYnD6n18+xqsnjeSQ4bRnQ==\n-----END RSA PRIVATE KEY-----\n";
$passphrase2 = "What do you think I'd use as a passphrase anyway?";
$pk = $ssl->load_private_key($privkey2);
openssl_pkey_export($pk, $privkey2, $passphrase2);
openssl_free_key($pk);
$pubkey2 = $ssl->privkey_to_pubkey($privkey2, $passphrase2);
$id2 = $ssl->pubkey_id($pubkey2);
$err = $client->newuser($passphrase2, $privkey2);
if ($err) {
    echo "Newuser failed for user 2. {$err}\n";
}
$users = array(1 => array('idx' => 1, 'id' => $id, 'name' => 'George Jetson', 'passphrase' => $passphrase), 2 => array('idx' => 2, 'id' => $id2, 'name' => 'Jane Jetson', 'passphrase' => $passphrase2), 3 => array('idx' => 3, 'id' => $id3, 'name' => 'John Doe', 'passphrase' => $passphrase3));
$usernum = 1;
$user = $users[$usernum];
$err = $client->login($user['passphrase']);
if ($err) {
    echo "Error logging in as user {$usernum}: {$err}\n";
} else {
    echo "Logged in as user {$usernum}\n";
    $banks = $client->getbanks(true);
    if (is_string($banks)) {