[英]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.