Jose\Factory\JWKFactory::createRSAKey PHP Method

createRSAKey() public static method

public static createRSAKey ( array $values )
$values array
    public static function createRSAKey(array $values)
    {
        Assertion::keyExists($values, 'size', 'The key size is not set.');
        $size = $values['size'];
        unset($values['size']);
        Assertion::true(0 === $size % 8, 'Invalid key size.');
        Assertion::greaterOrEqualThan($size, 384, 'Key length is too short. It needs to be at least 384 bits.');
        $key = openssl_pkey_new(['private_key_bits' => $size, 'private_key_type' => OPENSSL_KEYTYPE_RSA]);
        openssl_pkey_export($key, $out);
        $rsa = new RSAKey($out);
        $values = array_merge($values, $rsa->toArray());
        return new JWK($values);
    }