没有在ios中接收工作灯推送通知

时间:2014-11-20 06:42:03

标签: ios ibm-mobilefirst

我正在构建一个应用程序,推送通知是使用工作灯的重要功能之一 在android中它工作正常。但在ios我没有收到任何通知。我在这个问题中添加了我的日志。

我甚至尝试用JDK 6中的jre \ lib \ security \ cacerts文件替换JDK 7中的jre \ lib \ security \ cacerts文件。但没有运气,它无法正常工作。 Sp请提供一些有用的解决方案。

[19/11/14 14:49:28:403 UTC] 00000044 com.notnoop.apns.internal.ApnsFeedbackConnection             W Failed to retreive invalid devices
java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.j: End user tried to act as a CA
    at com.notnoop.apns.internal.Utilities.parseFeedbackStreamRaw(Utilities.java:209)
    at com.notnoop.apns.internal.Utilities.parseFeedbackStream(Utilities.java:219)
    at com.notnoop.apns.internal.ApnsFeedbackConnection.getInactiveDevicesImpl(ApnsFeedbackConnection.java:105)
    at com.notnoop.apns.internal.ApnsFeedbackConnection.getInactiveDevices(ApnsFeedbackConnection.java:74)
    at com.notnoop.apns.internal.AbstractApnsService.getInactiveDevices(AbstractApnsService.java:132)
    at com.notnoop.apns.internal.ApnsServiceImpl.getInactiveDevices(ApnsServiceImpl.java:36)
    at com.ibm.pushworks.server.notification.apns.ApplicationConnection.getInactiveDevices(ApplicationConnection.java:123)
    at com.ibm.pushworks.server.notification.apns.APNSMediator.maintain(APNSMediator.java:102)
    at com.ibm.pushworks.server.notification.Dispatcher.maintain(Dispatcher.java:93)
    at com.worklight.integration.notification.NotificationCleanupTask.step(NotificationCleanupTask.java:24)
    at com.worklight.core.tasks.TaskThread.run(TaskThread.java:120)
Caused by: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.j: End user tried to act as a CA
    at com.ibm.jsse2.j.a(j.java:23)
    at com.ibm.jsse2.qc.a(qc.java:190)
    at com.ibm.jsse2.ab.a(ab.java:239)
    at com.ibm.jsse2.ab.a(ab.java:136)
    at com.ibm.jsse2.bb.a(bb.java:93)
    at com.ibm.jsse2.bb.a(bb.java:230)
    at com.ibm.jsse2.ab.r(ab.java:270)
    at com.ibm.jsse2.ab.a(ab.java:259)
    at com.ibm.jsse2.qc.a(qc.java:568)
    at com.ibm.jsse2.qc.h(qc.java:759)
    at com.ibm.jsse2.qc.a(qc.java:807)
    at com.ibm.jsse2.e.read(e.java:18)
    at com.ibm.jsse2.e.read(e.java:21)
    at java.io.DataInputStream.readInt(DataInputStream.java:398)
    at com.notnoop.apns.internal.Utilities.parseFeedbackStreamRaw(Utilities.java:200)
    ... 10 more
Caused by: com.ibm.jsse2.util.j: End user tried to act as a CA
    at com.ibm.jsse2.util.i.a(i.java:11)
    at com.ibm.jsse2.util.i.a(i.java:116)
    at com.ibm.jsse2.util.i.b(i.java:95)
    at com.ibm.jsse2.util.g.a(g.java:17)
    at com.ibm.jsse2.yc.a(yc.java:73)
    at com.ibm.jsse2.yc.a(yc.java:110)
    at com.ibm.jsse2.yc.checkServerTrusted(yc.java:101)
    at com.ibm.jsse2.bb.a(bb.java:19)
    ... 20 more

[19/11/14 14:49:28:403 UTC] 00000044 com.notnoop.apns.internal.ApnsFeedbackConnection             E Couldn't get feedback connection
java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.j: End user tried to act as a CA
    at com.notnoop.apns.internal.Utilities.parseFeedbackStreamRaw(Utilities.java:209)
    at com.notnoop.apns.internal.Utilities.parseFeedbackStream(Utilities.java:219)
    at com.notnoop.apns.internal.ApnsFeedbackConnection.getInactiveDevicesImpl(ApnsFeedbackConnection.java:105)
    at com.notnoop.apns.internal.ApnsFeedbackConnection.getInactiveDevices(ApnsFeedbackConnection.java:74)
    at com.notnoop.apns.internal.AbstractApnsService.getInactiveDevices(AbstractApnsService.java:132)
    at com.notnoop.apns.internal.ApnsServiceImpl.getInactiveDevices(ApnsServiceImpl.java:36)
    at com.ibm.pushworks.server.notification.apns.ApplicationConnection.getInactiveDevices(ApplicationConnection.java:123)
    at com.ibm.pushworks.server.notification.apns.APNSMediator.maintain(APNSMediator.java:102)
    at com.ibm.pushworks.server.notification.Dispatcher.maintain(Dispatcher.java:93)
    at com.worklight.integration.notification.NotificationCleanupTask.step(NotificationCleanupTask.java:24)
    at com.worklight.core.tasks.TaskThread.run(TaskThread.java:120)
Caused by: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.j: End user tried to act as a CA
    at com.ibm.jsse2.j.a(j.java:23)
    at com.ibm.jsse2.qc.a(qc.java:190)
    at com.ibm.jsse2.ab.a(ab.java:239)
    at com.ibm.jsse2.ab.a(ab.java:136)
    at com.ibm.jsse2.bb.a(bb.java:93)
    at com.ibm.jsse2.bb.a(bb.java:230)
    at com.ibm.jsse2.ab.r(ab.java:270)
    at com.ibm.jsse2.ab.a(ab.java:259)
    at com.ibm.jsse2.qc.a(qc.java:568)
    at com.ibm.jsse2.qc.h(qc.java:759)
    at com.ibm.jsse2.qc.a(qc.java:807)
    at com.ibm.jsse2.e.read(e.java:18)
    at com.ibm.jsse2.e.read(e.java:21)
    at java.io.DataInputStream.readInt(DataInputStream.java:398)
    at com.notnoop.apns.internal.Utilities.parseFeedbackStreamRaw(Utilities.java:200)
    ... 10 more
Caused by: com.ibm.jsse2.util.j: End user tried to act as a 

1 个答案:

答案 0 :(得分:0)

根据以下IBM tech note,如果根CA证书不包含BASIC CONSTRAINTS扩展名,则可能会出现此错误。

要解决此问题:

  

根据X509V3规范,任何根CA证书都应该是   包含BASIC CONSTRAINTS扩展名和CA标志的值   应设为TRUE。否则,证书被视为   终端实体证书而非CA证书。在SSL握手期间,   如果服务器证书链使用不具有的根CA证书   正确设置此扩展,握手可能会失败   客户端结束上面提到的错误消息。解决了   问题,请联系颁发证书的CA并获取服务器   证书链纠正。另一个潜在的解决方法是使用   IbmPKIX信任管理员而非客户端的IbmX509信任管理员   结束。使用该属性在java.security文件中设置trustmanager   " ssl.TrustManagerFactory.algorithm"

查看以上内容是否与您的问题有关。