X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2FOStatus%2Fclasses%2FMagicsig.php;h=c07a082495578790eea86f080323a3d5fbfffa5b;hb=c00491cd7a29a9ef16d6e6bfa54505d4c9a522fe;hp=1ef913792bd983bcf9ad6bae8845904a5432f889;hpb=6f4c572389e08b18a570707b41e09a1178f3beb3;p=quix0rs-gnu-social.git diff --git a/plugins/OStatus/classes/Magicsig.php b/plugins/OStatus/classes/Magicsig.php index 1ef913792b..c07a082495 100644 --- a/plugins/OStatus/classes/Magicsig.php +++ b/plugins/OStatus/classes/Magicsig.php @@ -91,13 +91,15 @@ class Magicsig extends Managed_DataObject static function getKV($k, $v=null) { $obj = parent::getKV($k, $v); - if (!empty($obj)) { + if ($obj instanceof Magicsig) { + // Please note we're replacing the $obj + // FIXME: There should be an import-key that modifies the fetched $obj $obj = Magicsig::fromString($obj->keypair); - // Double check keys: Crypt_RSA did not - // consistently generate good keypairs. - // We've also moved to 1024 bit keys. - if (strlen($obj->publicKey->modulus->toBits()) != 1024) { + // Never allow less than 1024 bit keys. + // The only case these show up in would be imported or + // legacy very-old-StatusNet generated keypairs. + if (strlen($obj->publicKey->modulus->toBits()) < 1024) { $obj->delete(); return false; } @@ -144,11 +146,11 @@ class Magicsig extends Managed_DataObject * * @param int $user_id id of local user we're creating a key for */ - public function generate($user_id) + public function generate($user_id, $bits=1024) { $rsa = new Crypt_RSA(); - $keypair = $rsa->createKey(); + $keypair = $rsa->createKey($bits); $rsa->loadKey($keypair['privatekey']);