javax.net.ssl.SSLHandshakeException:无法验证SSL证书:https://android.apis.google.com/c2dm/send

时间:2011-02-24 12:14:52

标签: android google-app-engine android-c2dm

我收到了[C2DMReg] handleRequest catch

  

org.apache.http.auth.AuthenticationException

试图从谷歌服务器获取注册ID。这是logcat跟踪:

02-24 19:10:26.951: WARN/DefaultRequestDirector(122): Authentication error: Unable to respond to any of these challenges: {}
02-24 19:10:26.969: DEBUG/C2DMRegistrar(122): [C2DMRegistrar.24] register: http error 401
02-24 19:10:26.969: ERROR/C2DMRegistrar(122): [C2DMReg] handleRequest caught org.apache.http.auth.AuthenticationException

但是我能够获得注册ID。但是当我尝试将msg发送到设备时,我得到了一个异常

  

javax.net.ssl.SSLHandshakeException:无法验证SSL证书   for:https://android.apis.google.com/c2dm/send

可能是什么原因?已经24小时我注册了我的C2DM服务的电子邮件ID。我收到了他们的邮件。但它仍然没有用。

1 个答案:

答案 0 :(得分:0)

Android设备c2dm似乎只接受* .apis.google.com证书。尝试按照此处所述设置假的HostnameVerifier:

http://groups.google.com/group/android-c2dm/browse_thread/thread/49e902657d76a530

<强>更新

有一个名为ChromeToPhone的项目,它将URL从浏览器插件发送到AppEngine后端,然后通过C2DM发送到Android手机。

可能有助于查看他们的来源,了解他们如何在AppEngine上实施C2DM:http://code.google.com/p/chrometophone/source/browse/#svn%2Ftrunk%2Fappengine