簡體   English   中英

在iOS中未收到Worklight Push通知

[英]Not receiving worklight push notification in ios

我正在構建一個應用程序,其推送通知是使用worklight的重要功能之一。
在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 

根據以下IBM技術說明 ,如果根CA證書不包含BASIC CONSTRAINTS擴展名,則可能會發生此錯誤。

解決問題:

根據X509V3規范,任何根CA證書都應包含BASIC CONSTRAINTS擴展名,並且CA標志的值應設置為TRUE。 否則,該證書被視為最終實體證書,而不是CA證書。 在SSL握手期間,如果服務器證書鏈使用未正確設置此擴展名的根CA證書,則握手會在客戶端失敗,並顯示上述錯誤消息。 要解決此問題,請與頒發證書的CA聯系,並更正服務器證書鏈。 另一個可能的解決方法是在客戶端使用IbmPKIX trustmanager而不是IbmX509 trustmanager。 使用屬性“ ssl.TrustManagerFactory.algorithm”在java.security文件中設置trustmanager。

查看以上是否與您的問題有關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM