Hello,

> -----Ursprüngliche Nachricht-----
> Von: Thomas Hoffmann (Speed4Trade GmbH)
> <thomas.hoffm...@speed4trade.com.INVALID>
> Gesendet: Montag, 27. Juni 2022 15:31
> An: Tomcat Users List <users@tomcat.apache.org>
> Betreff: AW: Root Module Deployment Error
> 
> Hello,
> 
> 
> > -----Ursprüngliche Nachricht-----
> > Von: Kenaw, Seretseab <seretseab.ke...@ecolab.com.INVALID>
> > Gesendet: Montag, 27. Juni 2022 15:01
> > An: users@tomcat.apache.org
> > Betreff: Root Module Deployment Error
> >
> > Hello,
> >
> > We just upgraded from Tomcat 9.0.12 to 9.0.62, and after the upgrade
> > the new Tomcat version is throwing an error while deploying the ROOT
> module.
> > All the ROOT module has is a redirection to a specific page when the
> > user tries to access the website. Here is the error message, any help
> > is appreciated.
> > SEVERE: Error deploying deployment descriptor [E:\EBX1\EBX
> > Server\conf\Catalina\localhost\ROOT.xml]
> > java.lang.IllegalStateException: Error starting child
> >               at
> > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.
> > java
> > :729)
> >               at
> > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
> >               at
> > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
> >               at
> > org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.jav
> > a:69
> > 0)
> >               at
> > org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig
> > .jav
> > a:1889)
> >               at
> > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executor
> > s.ja
> > va:515)
> >               at
> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> >               at
> > org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExe
> > cuto
> > rService.java:75)
> >               at
> > java.base/java.util.concurrent.AbstractExecutorService.submit(Abstract
> > Exec
> > utorService.java:118)
> >               at
> > org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.ja
> > va:5
> > 83)
> >               at
> > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
> >               at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
> >               at
> > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
> >               at
> > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBas
> > e.java:1
> > 23)
> >               at
> > org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.
> > java:423
> > )
> >               at
> > org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
> >               at
> > org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.jav
> > a:946
> > )
> >               at
> >
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
> >               at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >               at
> > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.j
> > ava:1
> > 396)
> >               at
> > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.j
> > ava:1
> > 386)
> >               at
> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> >               at
> > org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExe
> > cuto
> > rService.java:75)
> >               at
> > java.base/java.util.concurrent.AbstractExecutorService.submit(Abstract
> > Exec
> > utorService.java:140)
> >               at
> > org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.jav
> > a:919
> > )
> >               at
> > org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.j
> > ava:2
> > 63)
> >               at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >               at
> >
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:
> > 432)
> >               at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >               at
> > org.apache.catalina.core.StandardServer.startInternal(StandardServer.j
> > ava:9
> > 27)
> >               at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >               at 
> > org.apache.catalina.startup.Catalina.start(Catalina.java:772)
> >               at
> > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method)
> >               at
> > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeM
> > et
> > hodAccessorImpl.java:62)
> >               at
> > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Del
> > ega
> > tingMethodAccessorImpl.java:43)
> >               at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> >               at 
> > org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
> >               at
> > org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
> > Caused by: org.apache.catalina.LifecycleException: Failed to start
> > component
> >
> [OpenIDConnectAuthenticator[StandardEngine[Catalina].StandardHost[loca
> > l
> > host].StandardContext[]]]
> >               at
> > org.apache.catalina.util.LifecycleBase.handleSubClassException(Lifecyc
> > leBas
> > e.java:440)
> >               at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
> >               at
> > org.apache.catalina.core.StandardPipeline.startInternal(StandardPipeli
> > ne.jav
> > a:176)
> >               at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >               at
> > org.apache.catalina.core.StandardContext.startInternal(StandardContext
> > .jav
> > a:5147)
> >               at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >               at
> > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.
> > java
> > :726)
> >               ... 37 more
> > Caused by: java.lang.IllegalStateException: Impossible modulus [1]
> >               at
> > org.apache.tomcat.util.codec.binary.Base64.decode(Base64.java:682)
> >               at
> >
> org.apache.tomcat.util.codec.binary.BaseNCodec.decode(BaseNCodec.java:
> > 362)
> >               at
> >
> org.apache.tomcat.util.codec.binary.Base64.decodeBase64(Base64.java:157)
> >               at
> >
> org.apache.tomcat.util.codec.binary.Base64.decodeBase64(Base64.java:152)
> >               at
> >
> org.apache.tomcat.util.codec.binary.Base64.decodeInteger(Base64.java:189)
> >               at
> > org.bsworks.catalina.authenticator.oidc.JWKSet.<init>(JWKSet.java:58)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfiguration$1.parseDocumen
> > t(
> > OPConfiguration.java:63)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfiguration$1.parseDocumen
> > t(
> > OPConfiguration.java:1)
> >               at
> > org.bsworks.catalina.authenticator.oidc.ConfigProvider.loadDocument(Co
> > nfi
> > gProvider.java:146)
> >               at
> > org.bsworks.catalina.authenticator.oidc.ConfigProvider.get(ConfigProvi
> > der.j
> > ava:106)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfiguration.<init>(OPConfi
> > gura
> > tion.java:66)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfigurationsProvider$1.par
> > seD
> > ocument(OPConfigurationsProvider.java:40)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfigurationsProvider$1.par
> > seD
> > ocument(OPConfigurationsProvider.java:1)
> >               at
> > org.bsworks.catalina.authenticator.oidc.ConfigProvider.loadDocument(Co
> > nfi
> > gProvider.java:146)
> >               at
> > org.bsworks.catalina.authenticator.oidc.ConfigProvider.get(ConfigProvi
> > der.j
> > ava:106)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfigurationsProvider.getOP
> > Con
> > figuration(OPConfigurationsProvider.java:72)
> >               at
> > org.bsworks.catalina.authenticator.oidc.BaseOpenIDConnectAuthenticator
> > .s
> > tartInternal(BaseOpenIDConnectAuthenticator.java:765)
> >               at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >               ... 42 more
> >
> > Thank you
> > Seretseab Kenaw
> >
> 
> 
> according to the sources the modulus 1 is not supported and was not
> supported:
> https://github.com/apache/tomcat/blob/9.0.x/java/org/apache/tomcat/util
> /codec/binary/Base64.java
> Apache commons library can use the modulus of one.
> 
> Did you use the tomcat.util package before or did you use another
> package/library for decoding the byte[] Array?
> How does the Byte array look like which you feed into decodeInteger(....) ?
> 
> The relevant part of the stacktrace is:
> >
> org.apache.tomcat.util.codec.binary.Base64.decodeInteger(Base64.java:189)
> >               at
> > org.bsworks.catalina.authenticator.oidc.JWKSet.<init>(JWKSet.java:58)
> 
> Greetings,
> Thomas
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org

I just saw that there was a commit in August 2020 which removed the support for 
modulus of 1:
https://github.com/apache/tomcat/commit/aa6bfaee9917fd1082a0c28b8fb023e5c00175fa#diff-92c9bcab27b5c0ba09000edd6634149e69961284604086487b4931506867c743

I can't tell why it was removed.

Commons-codec still supports modulus of 1:
https://github.com/apache/commons-codec/blob/master/src/main/java/org/apache/commons/codec/binary/Base64.java
Maybe you can switch to commons-codec in the meantime.

Greetings,
Thomas

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to