@@ -398,264 +398,3 @@ Weblogic在使用jpush-api-java-client时需要注意的一些事项。
398398+ 检查官网证书,观察对应证书的指纹
399399+ 比较两个指纹是否一致,如下图所示
400400![ jpush_weblogic] ( https://raw.githubusercontent.com/jpush/jpush-docs/master/zh/jpush/server/3rd/image/weblogic.png )
401-
402- #### 异常记录
403- ** 证书错误异常**
404-
405- ```
406- Can not connect to JPush Server. Please ensure your internet connection is ok.
407- If the problem persists, please let us know at support@jpush.cn.
408- javax.net.ssl.SSLHandshakeException: General SSLEngine problem
409- at com.sun.net.ssl.internal.ssl.Handshaker.checkThrown(Handshaker.java:1015)
410- at com.sun.net.ssl.internal.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:485)
411- at com.sun.net.ssl.internal.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1128)
412- at com.sun.net.ssl.internal.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1100)
413- at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:452)
414- at weblogic.security.SSL.jsseadapter.JaSSLEngine$1.run(JaSSLEngine.java:68)
415- at weblogic.security.SSL.jsseadapter.JaSSLEngine.doAction(JaSSLEngine.java:732)
416- at weblogic.security.SSL.jsseadapter.JaSSLEngine.wrap(JaSSLEngine.java:66)
417- at weblogic.socket.JSSEFilterImpl.wrapAndWrite(JSSEFilterImpl.java:619)
418- at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:91)
419- at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:64)
420- at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:59)
421- at weblogic.socket.JSSEFilterImpl.write(JSSEFilterImpl.java:390)
422- at weblogic.socket.JSSESocket$JSSEOutputStream.write(JSSESocket.java:78)
423- at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
424- at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
425- at java.io.FilterOutputStream.flush(FilterOutputStream.java:123)
426- at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:186)
427- at weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:280)
428- at cn.jpush.api.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:153)
429- at cn.jpush.api.common.connection.NativeHttpClient.doRequest(NativeHttpClient.java:93)
430- at cn.jpush.api.common.connection.NativeHttpClient.sendPost(NativeHttpClient.java:80)
431- at cn.jpush.api.push.PushClient.sendPush(PushClient.java:119)
432- at cn.jpush.api.JPushClient.sendMessageAll(JPushClient.java:362)
433- at cn.liucy.hello.HelloPush.doPost(HelloPush.java:40)
434- at cn.liucy.hello.HelloPush.doGet(HelloPush.java:29)
435- at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
436- at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
437- at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
438- at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
439- at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
440- at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
441- at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3732)
442- at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
443- at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
444- at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
445- at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
446- at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
447- at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
448- at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
449- at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
450- Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
451- at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
452- at com.sun.net.ssl.internal.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1528)
453- at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:243)
454- at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235)
455- at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1206)
456- at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:136)
457- at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
458- at com.sun.net.ssl.internal.ssl.Handshaker$1.run(Handshaker.java:533)
459- at java.security.AccessController.doPrivileged(Native Method)
460- at com.sun.net.ssl.internal.ssl.Handshaker$DelegatedTask.run(Handshaker.java:952)
461- at weblogic.socket.JSSEFilterImpl.doTasks(JSSEFilterImpl.java:186)
462- at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:95)
463- ... 31 more
464- Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
465- at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:323)
466- at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:217)
467- at sun.security.validator.Validator.validate(Validator.java:218)
468- at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
469- at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
470- at weblogic.security.SSL.jsseadapter.JaTrustManager.checkServerTrusted(JaTrustManager.java:125)
471- at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1198)
472- ... 38 more
473- Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
474- at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
475- at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
476- at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)
477- ... 44 more
478- ```
479-
480- ** 未使用JSSE SSL异常**
481- ```
482- Can not connect to JPush Server. Please ensure your internet connection is ok.
483- If the problem persists, please let us know at support@jpush.cn.
484- javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received.
485- at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireException(Unknown Source)
486- at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown Source)
487- at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown Source)
488- at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown Source)
489- at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown Source)
490- at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Source)
491- at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source)
492- at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
493- at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown Source)
494- at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown Source)
495- at com.certicom.tls.record.WriteHandler.write(Unknown Source)
496- at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
497- at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
498- at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
499- at java.io.FilterOutputStream.flush(FilterOutputStream.java:123)
500- at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:186)
501- at weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:280)
502- at cn.jpush.api.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:153)
503- at cn.jpush.api.common.connection.NativeHttpClient.doRequest(NativeHttpClient.java:93)
504- at cn.jpush.api.common.connection.NativeHttpClient.sendPost(NativeHttpClient.java:80)
505- at cn.jpush.api.push.PushClient.sendPush(PushClient.java:119)
506- at cn.jpush.api.JPushClient.sendMessageAll(JPushClient.java:362)
507- at cn.liucy.hello.HelloPush.doPost(HelloPush.java:40)
508- at cn.liucy.hello.HelloPush.doGet(HelloPush.java:29)
509- at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
510- at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
511- at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
512- at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
513- at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
514- at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
515- at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3732)
516- at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
517- at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
518- at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
519- at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
520- at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
521- at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
522- at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
523- at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
524- 15/12/09 13:52:03 ERROR hello.HelloPush: Failed to server.
525- cn.jpush.api.common.resp.APIConnectionException: Connection IO error.
526- Can not connect to JPush Server. Please ensure your internet connection is ok.
527- If the problem persists, please let us know at support@jpush.cn.
528- at cn.jpush.api.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:242)
529- at cn.jpush.api.common.connection.NativeHttpClient.doRequest(NativeHttpClient.java:93)
530- at cn.jpush.api.common.connection.NativeHttpClient.sendPost(NativeHttpClient.java:80)
531- at cn.jpush.api.push.PushClient.sendPush(PushClient.java:119)
532- at cn.jpush.api.JPushClient.sendMessageAll(JPushClient.java:362)
533- at cn.liucy.hello.HelloPush.doPost(HelloPush.java:40)
534- at cn.liucy.hello.HelloPush.doGet(HelloPush.java:29)
535- at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
536- at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
537- at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
538- at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
539- at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
540- at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
541- at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3732)
542- at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
543- at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
544- at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
545- at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
546- at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
547- at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
548- at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
549- at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
550- Caused by: javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received.
551- at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireException(Unknown Source)
552- at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown Source)
553- at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown Source)
554- at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown Source)
555- at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown Source)
556- at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Source)
557- at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source)
558- at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
559- at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown Source)
560- at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown Source)
561- at com.certicom.tls.record.WriteHandler.write(Unknown Source)
562- at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
563- at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
564- at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
565- at java.io.FilterOutputStream.flush(FilterOutputStream.java:123)
566- at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:186)
567- at weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:280)
568- at cn.jpush.api.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:153)
569- ... 21 more
570- ```
571-
572- ** Hostname验证失败异常**
573-
574- ```
575- Can not connect to JPush Server. Please ensure your internet connection is ok.
576- If the problem persists, please let us know at support@jpush.cn.
577- javax.net.ssl.SSLKeyException: Hostname verification failed: HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier, hostname=api.jpush.cn.
578- at weblogic.security.SSL.jsseadapter.JaSSLEngine.doPostHandshake(JaSSLEngine.java:675)
579- at weblogic.security.SSL.jsseadapter.JaSSLEngine.doAction(JaSSLEngine.java:746)
580- at weblogic.security.SSL.jsseadapter.JaSSLEngine.unwrap(JaSSLEngine.java:132)
581- at weblogic.socket.JSSEFilterImpl.unwrap(JSSEFilterImpl.java:505)
582- at weblogic.socket.JSSEFilterImpl.unwrapAndHandleResults(JSSEFilterImpl.java:448)
583- at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:80)
584- at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:64)
585- at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:59)
586- at weblogic.socket.JSSEFilterImpl.write(JSSEFilterImpl.java:390)
587- at weblogic.socket.JSSESocket$JSSEOutputStream.write(JSSESocket.java:78)
588- at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
589- at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
590- at java.io.FilterOutputStream.flush(FilterOutputStream.java:123)
591- at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:186)
592- at weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:280)
593- at cn.jpush.api.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:153)
594- at cn.jpush.api.common.connection.NativeHttpClient.doRequest(NativeHttpClient.java:93)
595- at cn.jpush.api.common.connection.NativeHttpClient.sendPost(NativeHttpClient.java:80)
596- at cn.jpush.api.push.PushClient.sendPush(PushClient.java:119)
597- at cn.jpush.api.JPushClient.sendMessageAll(JPushClient.java:362)
598- at cn.liucy.hello.HelloPush.doPost(HelloPush.java:40)
599- at cn.liucy.hello.HelloPush.doGet(HelloPush.java:29)
600- at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
601- at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
602- at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
603- at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
604- at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
605- at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
606- at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3732)
607- at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
608- at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
609- at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
610- at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
611- at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
612- at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
613- at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
614- at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
615- 15/12/09 14:27:17 ERROR hello.HelloPush: Failed to server.
616- cn.jpush.api.common.resp.APIConnectionException: Connection IO error.
617- Can not connect to JPush Server. Please ensure your internet connection is ok.
618- If the problem persists, please let us know at support@jpush.cn.
619- at cn.jpush.api.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:242)
620- at cn.jpush.api.common.connection.NativeHttpClient.doRequest(NativeHttpClient.java:93)
621- at cn.jpush.api.common.connection.NativeHttpClient.sendPost(NativeHttpClient.java:80)
622- at cn.jpush.api.push.PushClient.sendPush(PushClient.java:119)
623- at cn.jpush.api.JPushClient.sendMessageAll(JPushClient.java:362)
624- at cn.liucy.hello.HelloPush.doPost(HelloPush.java:40)
625- at cn.liucy.hello.HelloPush.doGet(HelloPush.java:29)
626- at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
627- at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
628- at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
629- at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
630- at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
631- at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
632- at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3732)
633- at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
634- at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
635- at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
636- at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
637- at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
638- at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
639- at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
640- at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
641- Caused by: javax.net.ssl.SSLKeyException: Hostname verification failed: HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier, hostname=api.jpush.cn.
642- at weblogic.security.SSL.jsseadapter.JaSSLEngine.doPostHandshake(JaSSLEngine.java:675)
643- at weblogic.security.SSL.jsseadapter.JaSSLEngine.doAction(JaSSLEngine.java:746)
644- at weblogic.security.SSL.jsseadapter.JaSSLEngine.unwrap(JaSSLEngine.java:132)
645- at weblogic.socket.JSSEFilterImpl.unwrap(JSSEFilterImpl.java:505)
646- at weblogic.socket.JSSEFilterImpl.unwrapAndHandleResults(JSSEFilterImpl.java:448)
647- at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:80)
648- at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:64)
649- at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:59)
650- at weblogic.socket.JSSEFilterImpl.write(JSSEFilterImpl.java:390)
651- at weblogic.socket.JSSESocket$JSSEOutputStream.write(JSSESocket.java:78)
652- at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
653- at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
654- at java.io.FilterOutputStream.flush(FilterOutputStream.java:123)
655- at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:186)
656- at weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:280)
657- at cn.jpush.api.common.connection.NativeHttpClient._doRequest(NativeHttpClient.java:153)
658- ... 21 more
659- ```
660-
661-
0 commit comments