org.bouncycastle.crypto.DataLengthException when FishEye processes trusted request from JIRA

XMLWordPrintable

    • Type: Bug
    • Resolution: Obsolete
    • Priority: Medium
    • 2.0
    • Affects Version/s: 0.38
    • None
    • Environment:

      JIRA 3.12.2
      FishEye 1.5.2
      FishEye Plugin 2.1-SNAPSHOT (not released)

      After a few attempts, the problem appears to occur roughly 75% of the time.

      Stacktrace (from FishEye):

      66600390 [btpool0-56] ERROR org.mortbay.log - /api/rest/query
      org.bouncycastle.crypto.DataLengthException: input too large for RSA cipher.
              at org.bouncycastle.crypto.engines.RSACoreEngine.convertInput(Unknown Source)
              at org.bouncycastle.crypto.engines.RSABlindedEngine.processBlock(Unknown Source)
              at org.bouncycastle.jce.provider.JCERSACipher.engineDoFinal(Unknown Source)
              at javax.crypto.Cipher.doFinal(DashoA12275)
              at com.atlassian.security.auth.trustedapps.BouncyCastleEncryptionProvider.decodeEncryptedCertificate(BouncyCastl
      eEncryptionProvider.java:131)
              at com.atlassian.security.auth.trustedapps.DefaultTrustedApplication.decode(DefaultTrustedApplication.java:44)
              at com.atlassian.seraph.filter.TrustedApplicationsFilter$AuthenticatorImpl.authenticate(TrustedApplicationsFilte
      r.java:441)
              at com.atlassian.seraph.filter.TrustedApplicationsFilter.authenticate(TrustedApplicationsFilter.java:132)
              at com.atlassian.seraph.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:109)
              at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
              at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
              at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
              at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
              at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:145)
              at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
              at com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:39)
              at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
              at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
              at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
              at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
              at org.mortbay.jetty.Server.handle(Server.java:324)
              at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
              at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
              at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
              at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
              at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
              at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
              at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
      

      Trusted apps usage within the JIRA FishEye Plugin:

              Principal user = authenticationContext.getUser();
              if (user != null)
              {
                  EncryptedCertificate cert = trustedApplicationsManager.getCurrentApplication().encode(user.getName());
                  request.addRequestHeader(CurrentApplication.HEADER_TRUSTED_APP_ID, cert.getID());
                  request.addRequestHeader(CurrentApplication.HEADER_TRUSTED_APP_CERT, cert.getCertificate());
                  request.addRequestHeader(CurrentApplication.HEADER_TRUSTED_APP_SECRET_KEY, cert.getSecretKey());
              }
      

        1. Bad Magic.png
          202 kB
          TimP
        2. Bad Magic - Seraph 0.38.png
          19 kB
          TimP

            Assignee:
            Jed Wesley-Smith (Inactive)
            Reporter:
            TimP
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: