2013-05-17 225 views
0

我正計劃爲Android應用使用GCM功能。我設置了適當的Android應用程序和部署在本地主機上的後端服務。Android GCM SSLException

Everyting很好,通知顯示在我的測試設備上。接下來,我嘗試在具有真實IP的不同服務器上部署該服務。現在,當我嘗試從服務器端推送通知時,我收到了這個奇怪的錯誤,但我不知道如何解決它。有沒有人有辦法解決嗎?

javax.net.ssl.SSLException: Server key 
at com.sun.net.ssl.internal.ssl.Handshaker.throwSSLException(Unknown Source) 
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source) 
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source) 
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source) 
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source) 
at com.google.android.gcm.server.Sender.post(Sender.java:479) 
at com.google.android.gcm.server.Sender.post(Sender.java:458) 
at com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:170) 
at com.google.android.gcm.server.Sender.send(Sender.java:121) 
at com.gebs.floatmanagement.web.servlet.MapGenerator.sendAndroidNotification(Unknown Source) 
at com.gebs.floatmanagement.web.servlet.MapGenerator.processRequest(Unknown Source) 
at com.gebs.floatmanagement.web.servlet.MapGenerator.doPost(Unknown Source) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) 
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) 
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:774) 
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) 
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:896) 
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) 
at java.lang.Thread.run(Unknown Source) 

產生的原因:java.security.spec.InvalidKeySpecException:在com.certicom.ecc.jcae.ECKeyFactorySpi.engineGeneratePublic(來源不明) 不支持java.security.spec.ECPublicKeySpec 在java.security .KeyFactory.generatePublic(來源不明) 在com.sun.net.ssl.internal.ssl.HandshakeMessage $ ECDH_ServerKeyExchange。(來源不明) ...... 35多個

回答

1

我已經部署了我的服務器的一些應用程序,覆蓋上一些SSL功能以及因此而引發的錯誤。刪除服務或在另一臺服務器上遷移應用程序後端服務解決了我的問題。

+0

終於解決了!大聲笑同樣的問題,浪費了我很多時間!所以愚蠢的錯誤。只是因爲以前未知的網絡應用程序。謝謝 – Pan