One simple task, no more, no less: give it credentials and a file path, and it will create a signed NSURLRequest. You do the rest.