2014-12-18 2 views
0

apache http 클라이언트를 사용하여 GCM HTTP 서버를 구현하려고합니다. 다음 예외가 발생합니다 :GCM HTTP 서버 javax.net.ssl.SSLPeerUnverifiedException : 피어가 인증되지 않았습니다.

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 
at sun.security.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source) 
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128) 
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:390) 
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148) 
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149) 
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121) 
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:561) 
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415) 
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) 
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754) 
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732) 
at com.hp.pm.web.command.PostAlertsToGCM.Command(PostAlertsToGCM.java:264) 
at com.hp.pm.web.command.PostAlertsToGCM.main(PostAlertsToGCM.java:277) 

내 코드는 다음과 같습니다. 누군가 도울 수 있습니까?

HttpClient httpClient = new DefaultHttpClient(); 
    try { 
     HttpPost request = new HttpPost("https://android.googleapis.com/gcm/send"); 
     HttpHost proxy = new HttpHost("proxy.sgp.com", 8080, "https"); 
     httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy); 
     StringEntity params =new StringEntity("{\"collapse_key\" : \"Food-Promo\", \"data\" : {\"Category\" : \"FOOD\",\"Type\": \"VEG\",}, \"registration_ids\": [\"APA91bEk7GPFVxzOidvB3JKCMWq3FHpAaTj2dBv9VGOQkKtLAEiVGR8TDi1U4D1k293ODAFTJ8dNfE2gzJNfCvB1sjewZu2fGOIJmY8dgjcNTZQYi4QfyQH-AfsdaO0qEmQnbEeEtsUQ5LzWrIHbosdfAhJMx1bNd7g0O9bg\"]}"); 
     request.addHeader("Content-Type", "application/json"); 
     request.addHeader("Authorization", "key=AIzaSyAfsYc53L6kg_XD9ioWdLjUAi2iEfNKidSF8"); 
     request.setEntity(params); 
     HttpResponse response = httpClient.execute(request); 
     System.out.println(response.toString()); 
    }catch (Throwable ex) { 
     ex.printStackTrace(); 
    } finally { 
     httpClient.getConnectionManager().shutdown(); 
    } 

답변

0

SSL 인증서 관련 문제 인 것 같습니다. 이 link가 도움이 될 것입니다.

관련 문제