The issue was resolved after updating tomcat-oidauth library to the latest.
Thank you
Seretseab Kenaw

-----Original Message-----
From: Thomas Hoffmann (Speed4Trade GmbH) 
<thomas.hoffm...@speed4trade.com.INVALID> 
Sent: Monday, June 27, 2022 9:44 AM
To: Tomcat Users List <users@tomcat.apache.org>
Subject: AW: Root Module Deployment Error

Caution: This email message originated from outside of the organization. DO NOT 
CLICK on links or open attachments unless you recognize the sender and know the 
content is safe.  If you think it is suspicious, please report as suspicious. 

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.j
> > av
> > a:69
> > 0)
> >               at
> > org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConf
> > ig
> > .jav
> > a:1889)
> >               at
> > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Execut
> > or
> > s.ja
> > va:515)
> >               at
> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> >               at
> > org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineE
> > xe
> > cuto
> > rService.java:75)
> >               at
> > java.base/java.util.concurrent.AbstractExecutorService.submit(Abstra
> > ct
> > 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(LifecycleB
> > as
> > 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.j
> > av
> > 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(InlineE
> > xe
> > cuto
> > rService.java:75)
> >               at
> > java.base/java.util.concurrent.AbstractExecutorService.submit(Abstra
> > ct
> > Exec
> > utorService.java:140)
> >               at
> > org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.j
> > av
> > 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(Nati
> > ve
> > Method)
> >               at
> > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nativ
> > eM
> > et
> > hodAccessorImpl.java:62)
> >               at
> > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(D
> > el
> > 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(Lifec
> > yc
> > leBas
> > e.java:440)
> >               at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
> >               at
> > org.apache.catalina.core.StandardPipeline.startInternal(StandardPipe
> > li
> > ne.jav
> > a:176)
> >               at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> >               at
> > org.apache.catalina.core.StandardContext.startInternal(StandardConte
> > xt
> > .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:15
> 7)
> >               at
> >
> org.apache.tomcat.util.codec.binary.Base64.decodeBase64(Base64.java:15
> 2)
> >               at
> >
> org.apache.tomcat.util.codec.binary.Base64.decodeInteger(Base64.java:1
> 89)
> >               at
> > org.bsworks.catalina.authenticator.oidc.JWKSet.<init>(JWKSet.java:58)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfiguration$1.parseDocum
> > en
> > t(
> > OPConfiguration.java:63)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfiguration$1.parseDocum
> > en
> > 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(ConfigPro
> > vi
> > der.j
> > ava:106)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfiguration.<init>(OPCon
> > fi
> > gura
> > tion.java:66)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfigurationsProvider$1.p
> > ar
> > seD
> > ocument(OPConfigurationsProvider.java:40)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfigurationsProvider$1.p
> > ar
> > 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(ConfigPro
> > vi
> > der.j
> > ava:106)
> >               at
> > org.bsworks.catalina.authenticator.oidc.OPConfigurationsProvider.get
> > OP
> > Con
> > figuration(OPConfigurationsProvider.java:72)
> >               at
> > org.bsworks.catalina.authenticator.oidc.BaseOpenIDConnectAuthenticat
> > or
> > .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://urldefense.com/v3/__https://github.com/apache/tomcat/blob/9.0.
> x/java/org/apache/tomcat/util__;!!Nkc5UzxO!sXmNkMQ7D-bZt7-9a3oO9btz41B
> jRIgO-Q_sVUmBMPAeF_wlpABzQCNqqOm2KzpXEAUN8Kq3TS3AplYE-BLL9QwaPSqij7Mm1
> rTSHCUDUA$
> /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:1
> 89)
> >               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://urldefense.com/v3/__https://github.com/apache/tomcat/commit/aa6bfaee9917fd1082a0c28b8fb023e5c00175fa*diff-92c9bcab27b5c0ba09000edd6634149e69961284604086487b4931506867c743__;Iw!!Nkc5UzxO!sXmNkMQ7D-bZt7-9a3oO9btz41BjRIgO-Q_sVUmBMPAeF_wlpABzQCNqqOm2KzpXEAUN8Kq3TS3AplYE-BLL9QwaPSqij7Mm1rQxtLZ26g$
 

I can't tell why it was removed.

Commons-codec still supports modulus of 1:
https://urldefense.com/v3/__https://github.com/apache/commons-codec/blob/master/src/main/java/org/apache/commons/codec/binary/Base64.java__;!!Nkc5UzxO!sXmNkMQ7D-bZt7-9a3oO9btz41BjRIgO-Q_sVUmBMPAeF_wlpABzQCNqqOm2KzpXEAUN8Kq3TS3AplYE-BLL9QwaPSqij7Mm1rR46RMePw$
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

CONFIDENTIALITY NOTICE: This e-mail communication and any attachments may 
contain proprietary and privileged information for the use of the designated 
recipients named above. Any unauthorized review, use, disclosure or 
distribution is prohibited. If you are not the intended recipient, please 
contact the sender by reply e-mail and destroy all copies of the original 
message.

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

Reply via email to