Commit f4ed1713 authored by mmn's avatar mmn

Make Magicsig capable of loading public PKCS1 keys

parent 2970333a
......@@ -243,8 +243,8 @@ class Magicsig extends Managed_DataObject
* Fill out $this->privateKey or $this->publicKey with a Crypt_RSA object
* representing the give key (as mod/exponent pair).
*
* @param string $mod base64-encoded
* @param string $exp base64-encoded exponent
* @param string $mod base64url-encoded
* @param string $exp base64url-encoded exponent
* @param string $type one of 'public' or 'private'
*/
public function loadKey($mod, $exp, $type = 'public')
......@@ -263,6 +263,15 @@ class Magicsig extends Managed_DataObject
}
}
public function loadPublicKeyPKCS1($key)
{
$rsa = new Crypt_RSA();
if (!$rsa->setPublicKey($key, CRYPT_RSA_PUBLIC_FORMAT_PKCS1)) {
throw new ServerException('Could not load PKCS1 public key. We probably got this from a remote Diaspora node as the profile public key.');
}
$this->publicKey = $rsa;
}
/**
* Returns the name of the crypto algorithm used for this key.
*
......
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