Java 连接到GCM服务器向android设备发送推送通知时出错

Java 连接到GCM服务器向android设备发送推送通知时出错,java,push-notification,google-cloud-messaging,Java,Push Notification,Google Cloud Messaging,我需要使用GCM服务器库向android设备发送推送通知,如下所示: 这是我的密码: Sender sender = new Sender(SERVER_KEY); Message message = new Message.Builder().timeToLive(30) .delayWhileIdle(true).addData("messageKey", "abc") .bu

我需要使用GCM服务器库向android设备发送推送通知,如下所示:

这是我的密码:

 Sender sender = new Sender(SERVER_KEY);
 Message message = new Message.Builder().timeToLive(30)
                            .delayWhileIdle(true).addData("messageKey", "abc")
                            .build();
 result = sender.send(message, regId, 1);
我在执行代码最后一行时出现以下错误

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

有人能给我一些关于如何解决这个问题的建议吗

您只需要导入所需的证书。您可以使用
keytool
进行此操作。这里有一个类似的问题:@KayAnn:url这个库提供者使用的是。此url具有Geotrust证书,该证书是公共证书,对吗?如果我错了,请纠正我。它已经存在于JRE/lib/security/cacerts文件中。那么为什么我会得到这个例外。这可能不是你需要的证书,或者可能已经过时了。您能验证这两个吗。@KayAnn:我现在禁用ssl检查只是为了检查它在没有ssl检查的情况下是否工作正常。但是,即使禁用ssl设备,也不会收到推送通知。虽然我从GCM得到了200个响应代码和“id=0:14349732030698440%2c87a3dc00000030”作为响应。我检查了服务器api键和regId,但如果我从php代码发送,这两个都可以正常工作。有什么建议吗?在这种情况下,提供的代码不足以得出任何结论。请同时提供您的客户端实现。另外请注意,客户端应用程序需要不同的API密钥(以防您不知道)。您只需要导入所需的证书。您可以使用
keytool
进行此操作。这里有一个类似的问题:@KayAnn:url这个库提供者使用的是。此url具有Geotrust证书,该证书是公共证书,对吗?如果我错了,请纠正我。它已经存在于JRE/lib/security/cacerts文件中。那么为什么我会得到这个例外。这可能不是你需要的证书,或者可能已经过时了。您能验证这两个吗。@KayAnn:我现在禁用ssl检查只是为了检查它在没有ssl检查的情况下是否工作正常。但是,即使禁用ssl设备,也不会收到推送通知。虽然我从GCM得到了200个响应代码和“id=0:14349732030698440%2c87a3dc00000030”作为响应。我检查了服务器api键和regId,但如果我从php代码发送,这两个都可以正常工作。有什么建议吗?在这种情况下,提供的代码不足以得出任何结论。请同时提供您的客户端实现。另外请注意,客户端应用程序需要不同的API密钥(以防您不知道)。您只需要导入所需的证书。您可以使用
keytool
进行此操作。这里有一个类似的问题:@KayAnn:url这个库提供者使用的是。此url具有Geotrust证书,该证书是公共证书,对吗?如果我错了,请纠正我。它已经存在于JRE/lib/security/cacerts文件中。那么为什么我会得到这个例外。这可能不是你需要的证书,或者可能已经过时了。您能验证这两个吗。@KayAnn:我现在禁用ssl检查只是为了检查它在没有ssl检查的情况下是否工作正常。但是,即使禁用ssl设备,也不会收到推送通知。虽然我从GCM得到了200个响应代码和“id=0:14349732030698440%2c87a3dc00000030”作为响应。我检查了服务器api键和regId,但如果我从php代码发送,这两个都可以正常工作。有什么建议吗?在这种情况下,提供的代码不足以得出任何结论。请同时提供您的客户端实现。还要注意,客户端应用程序需要不同的API密钥(以防您不知道)。