0 Replies Latest reply on Apr 9, 2018 4:00 AM by Adam Wickes

    Importing logo for RTF from https site - SSL Handshake issues

    Adam Wickes

      Hi all,

       

      I have an RTF template that has a logo using alt text so that when the report is burst and the end user accesses it, it uses the URL to render the logo on run time.
      The logo itself needs to be stored on a public facing website that is secured.
      The application server however (where the bursting job runs) is not secured as it doesn't need to be.

       

      Unfortunately, this means when scheduling a job to run, the logo is not embedded into the excel outputs.
      When I have a look at the BI publisher log file, I see the following:

       

       

      [2018-04-09T13:30:07.689+10:00] [bi_server1] [WARNING] [] [oracle.xdo] [tid: 465] [userId: weblogic] [ecid: 61a13401-bd43-4e0d-81a7-be12faffcaae-0000000c,0:2484:41:5] [APP: bipublisher] [partition-name: DOMAIN] [tenant-name: GLOBAL] [xdojobid: 5104] [essjobid: null] javax.net.ssl.SSLHandshakeException: General SSLEngine problem[[

      at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1431)

      at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:535)

      at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1214)

      at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1186)

      at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:469)

      at weblogic.security.SSL.jsseadapter.JaSSLEngine$1.run(JaSSLEngine.java:69)

      at weblogic.security.SSL.jsseadapter.JaSSLEngine.doAction(JaSSLEngine.java:743)

      at weblogic.security.SSL.jsseadapter.JaSSLEngine.wrap(JaSSLEngine.java:67)

      at weblogic.socket.JSSEFilterImpl.wrapAndWrite(JSSEFilterImpl.java:771)

      at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:119)

      at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:87)

      at weblogic.socket.JSSESocket.startHandshake(JSSESocket.java:240)

      at weblogic.net.http.HttpsClient.New(HttpsClient.java:566)

      at weblogic.net.http.HttpsClient.New(HttpsClient.java:546)

      at weblogic.net.http.HttpsURLConnection.connect(HttpsURLConnection.java:235)

      at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:685)

      at weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:42)

      at oracle.xdo.common.image.ImageReader.load(ImageReader.java:567)

      at oracle.xdo.excel.xlsx.XLSXWriter.drawImage(XLSXWriter.java:391)

      at oracle.xdo.flowgenerator.spreadsheet.ParagraphRender.parseImage(ParagraphRender.java:648)

      at oracle.xdo.flowgenerator.spreadsheet.ParagraphRender.parse(ParagraphRender.java:765)

      at oracle.xdo.flowgenerator.spreadsheet.ParagraphRender.render(ParagraphRender.java:1036)

      at oracle.xdo.flowgenerator.spreadsheet.SSParagraph.render1(SSParagraph.java:163)

      at oracle.xdo.flowgenerator.spreadsheet.SpreadsheetGenerator.renderSwtchLeafNode(SpreadsheetGenerator.java:1798)

      at oracle.xdo.flowgenerator.spreadsheet.SpreadsheetGenerator.renderSwtchLeafNode(SpreadsheetGenerator.java:1834)

      at oracle.xdo.flowgenerator.spreadsheet.SpreadsheetGenerator.processAndGenerate(SpreadsheetGenerator.java:1999)

      at oracle.xdo.flowgenerator.spreadsheet.SpreadsheetGenerator.closeAndRenderPage(SpreadsheetGenerator.java:883)

      at oracle.xdo.flowgenerator.spreadsheet.SpreadsheetGenerator.close(SpreadsheetGenerator.java:633)

      at oracle.xdo.generator.pseudo.FlowLayoutGenerator.close(FlowLayoutGenerator.java:228)

      at oracle.xdo.template.fo.FOProcessingEngine.process(FOProcessingEngine.java:480)

      at oracle.xdo.template.FOProcessor.generate(FOProcessor.java:1286)

      at oracle.xdo.servlet.RTFCoreProcessor.transform(RTFCoreProcessor.java:133)

      at oracle.xdo.servlet.CoreProcessor.processScheduledRequest(CoreProcessor.java:1421)

      at oracle.xdo.servlet.CoreProcessor.generateScheduledDocument(CoreProcessor.java:214)

      at oracle.xdo.servlet.ReportImpl.renderScheduledJob(ReportImpl.java:1173)

      at oracle.xdo.enterpriseScheduler.bursting.BurstingReportProcessor.renderReport(BurstingReportProcessor.java:668)

      at oracle.xdo.enterpriseScheduler.bursting.BurstingReportProcessor.onMessage(BurstingReportProcessor.java:189)

      at oracle.xdo.enterpriseScheduler.util.CheckpointEnabledListener.onMessage(CheckpointEnabledListener.java:26)

      at oracle.xdo.enterpriseScheduler.jmswrapper.client.JMSMessageConsumer.processMessage(JMSMessageConsumer.java:273)

      at oracle.xdo.enterpriseScheduler.jmswrapper.client.ThreadedMessageDispatcherOpt$DispatchWorker.run(ThreadedMessageDispatcherOpt.java:146)

      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

      at java.lang.Thread.run(Thread.java:745)

      Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem

      at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)

      at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1728)

      at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:304)

      at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)

      at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)

      at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)

      at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)

      at sun.security.ssl.Handshaker$1.run(Handshaker.java:919)

      at sun.security.ssl.Handshaker$1.run(Handshaker.java:916)

      at java.security.AccessController.doPrivileged(Native Method)

      at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1369)

      at weblogic.socket.JSSEFilterImpl.doTasks(JSSEFilterImpl.java:223)

      at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:123)

      ... 33 more

      Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

      at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)

      at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)

      at sun.security.validator.Validator.validate(Validator.java:260)

      at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)

      at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)

      at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:105)

      at weblogic.security.SSL.jsseadapter.JaTrustManager.checkServerTrusted(JaTrustManager.java:128)

      at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:936)

      at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496)

      ... 41 more

      Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

      at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)

      at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)

      at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)

      at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)

      ... 49 more

       

       

      ]]

      [2018-04-09T13:30:07.689+10:00] [bi_server1] [ERROR] [] [oracle.xdo] [tid: 465] [userId: weblogic] [ecid: 61a13401-bd43-4e0d-81a7-be12faffcaae-0000000c,0:2484:41:5] [APP: bipublisher] [partition-name: DOMAIN] [tenant-name: GLOBAL] [xdojobid: 5104] [essjobid: null] Failed to load image

       

      Does anyone have any idea how to fix this?

      Do I need to import the public facing site's certificates into the app server key store?
      If so, which one?

       

      Thanks in advance,
      Adam