简体   繁体   English

在iOS中未收到Worklight Push通知

[英]Not receiving worklight push notification in ios

I am building a app for which , push notification is one of the important feature using worklight. 我正在构建一个应用程序,其推送通知是使用worklight的重要功能之一。
In android it is working fine. 在Android中,它工作正常。 But in ios i am not receiving any notification. 但是在ios中我没有收到任何通知。 I have added my logs in this question . 我已在此问题中添加了日志。

I even tried replacing the jre\\lib\\security\\cacerts file in JDK 7 with jre\\lib\\security\\cacerts file in JDK 6 .But no luck ,it was not working . 我什至尝试用JDK 6中的jre \\ lib \\ security \\ cacerts文件替换JDK 7中的jre \\ lib \\ security \\ cacerts文件。但是没有运气,它不起作用。 Sp please provide with some useful solution. 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 

According to the following IBM tech note , this error may occur if the Root CA certificate does not contain the BASIC CONSTRAINTS extension. 根据以下IBM技术说明 ,如果根CA证书不包含BASIC CONSTRAINTS扩展名,则可能会发生此错误。

To resolve the issue: 解决问题:

As per X509V3 specifications, any root CA certificate is supposed to contain a BASIC CONSTRAINTS extension and the value of the CA flag should be set as TRUE. 根据X509V3规范,任何根CA证书都应包含BASIC CONSTRAINTS扩展名,并且CA标志的值应设置为TRUE。 Otherwise, the certificate is deemed to be an end-entity certificate and not a CA certificate. 否则,该证书被视为最终实体证书,而不是CA证书。 During SSL handshake, if a server certificate chain uses a root CA certificate that does not have this extension set correctly, the handshake can fail at the client end with the above mentioned error message. 在SSL握手期间,如果服务器证书链使用未正确设置此扩展名的根CA证书,则握手会在客户端失败,并显示上述错误消息。 To resolve the issue, contact the CA who issued the certificate and get the server certificate chain corrected. 要解决此问题,请与颁发证书的CA联系,并更正服务器证书链。 Another potential workaround is to use the IbmPKIX trustmanager instead of IbmX509 trustmanager at the client end. 另一个可能的解决方法是在客户端使用IbmPKIX trustmanager而不是IbmX509 trustmanager。 The trustmanager is set in java.security file using the property "ssl.TrustManagerFactory.algorithm" 使用属性“ ssl.TrustManagerFactory.algorithm”在java.security文件中设置trustmanager。

See if the above is related to your issue. 查看以上是否与您的问题有关。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM