title: Getting "peer not authenticated" exception on Amazon SQS
body: <p>When running the following code from a JAR locally:</p>
  
  <pre><code>public static List&lt;Message&gt; getMessages(AmazonSQS sqs, String queueUrl) throws IOException {
      ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl).withWaitTimeSeconds(5);
      List&lt;Message&gt; messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
      return messages;
  }
  </code></pre>
  
  <p>It works just fine. But when trying to run it remotely on an EC2 instance, I get the following exception:</p>
  
  <blockquote>
    <p>Apr 15, 2014 8:30:48 PM com.amazonaws.http.AmazonHttpClient
    executeHelper INFO: Unable to execute HTTP request: peer not
    authenticated javax.net.ssl.SSLPeerUnverifiedException: peer not
    authenticated
            at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:371)
            at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:126)
            at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
            at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:1
    80)
            at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
            at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645)
            at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480)
            at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
            at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
            at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:384)
            at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:232)
            at com.amazonaws.services.sqs.AmazonSQSClient.invoke(AmazonSQSClient.java:2170)
            at com.amazonaws.services.sqs.AmazonSQSClient.receiveMessage(AmazonSQSClient.java:942)
            at Utils.getMessages(Utils.java:80)
            at Manager.run(Manager.java:51)
            at Main.main(Main.java:10)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:616)
            at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)</p>
  </blockquote>
  
  <p>Searching for these exceptions only brought up questions by people who use the HttpClient explicitly, along with solutions which seem very irrelevant for my usage.</p>