Commit 74f5c1e1 authored by James Walker's avatar James Walker

db_objectified magic sig - for persistence of local keypairs

parent cb32b676
......@@ -29,21 +29,53 @@
require_once 'Crypt/RSA.php';
class Magicsig
class Magicsig extends Memcached_DataObject
{
public $__table = 'magicsig';
public $user_id;
public $keypair;
public $alg;
public function __construct($init = null)
private $_rsa;
public /*static*/ function staticGet($k, $v=null)
{
if (is_null($init)) {
$this->generate();
} else {
$this->fromString($init);
}
return parent::staticGet(__CLASS__, $k, $v);
}
function table()
{
return array(
'user_id' => DB_DATAOBJECT_INT,
'keypair' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
'alg' => DB_DATAOBJECT_STR
);
}
static function schemaDef()
{
return array(new ColumnDef('user_id', 'integer',
null, true, 'PRI'),
new ColumnDef('keypair', 'varchar',
255, false),
new ColumnDef('alg', 'varchar',
64, false));
}
function keys()
{
return array_keys($this->keyTypes());
}
function keyTypes()
{
return array('user_id' => 'K');
}
public function generate($key_length = 512)
{
$keypair = new Crypt_RSA_KeyPair($key_length);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment