Try with another app to confirm it's not a config issue.  Try with SSL, maybe you are being proxied.  If that fails, then I'd blame the id/secret next.  If that fails, check if you paid your S3 bill? 

If you can wireshark or tcpdump the non-ssl transaction (whole packets not just the useless headers) you may be able to see a more detailed error in the response.