Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

armhf java 17: Can not initialize cryptographic mechanism #467

Open
mietzen opened this issue Sep 8, 2022 · 0 comments
Open

armhf java 17: Can not initialize cryptographic mechanism #467

mietzen opened this issue Sep 8, 2022 · 0 comments

Comments

@mietzen
Copy link

mietzen commented Sep 8, 2022

I'm maintaining mietzen/docker-bastillion a dockerized bastillion container. When testing to upgrade from java 11 to 17 I stumbled over some weird behaviour on armhf.

With Java 11 everthing runs as expected:

root@1cb12227602b:/opt/bastillion# java --version
openjdk 11.0.16 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Debian-1deb11u1)
OpenJDK Server VM (build 11.0.16+8-post-Debian-1deb11u1, mixed mode)
root@1cb12227602b:/opt/bastillion# /usr/local/bin/dockerize -template /opt/BastillionConfig.properties.tpl:/opt/bastillion/jetty/bastillion/WEB-INF/classes/BastillionConfig.properties /opt/bastillion/startBastillion.sh

[startBastillion.sh INFO] restoring JCEKS file from persistent storage
2022-09-08 12:38:39.297:INFO::main: Logging initialized @2876ms to org.eclipse.jetty.util.log.StdErrLog
2022-09-08 12:38:40.535:INFO:oejs.Server:main: jetty-9.4.45.v20220203; built: 2022-02-03T09:14:34.105Z; git: 4a0c91c0be53805e3fcffdcdcc9587d5301863db; jvm 11.0.16+8-post-Debian-1deb11u1
2022-09-08 12:38:40.615:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///opt/bastillion/jetty/webapps/] at interval 1
2022-09-08 12:38:43.735:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=1946ms
2022-09-08 12:38:44.864:INFO:oejs.session:main: DefaultSessionIdManager workerName=node0
2022-09-08 12:38:44.865:INFO:oejs.session:main: No SessionScavenger set, using defaults
2022-09-08 12:38:44.869:INFO:oejs.session:main: node0 Scavenging every 600000ms
2022-09-08 12:38:50.031:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@1efd90f{/,file:///opt/bastillion/jetty/bastillion/,AVAILABLE}{/opt/bastillion/jetty/bastillion}
2022-09-08 12:38:50.784:INFO:oejus.SslContextFactory:main: x509=X509@1774571(jetty,h=[sean kavanagh],a=[],w=[]) for Server@c8641[provider=null,keyStore=file:///opt/bastillion/jetty/etc/keystore,trustStore=file:///opt/bastillion/jetty/etc/keystore]
2022-09-08 12:38:51.180:INFO:oejs.AbstractConnector:main: Started ServerConnector@1856d32{SSL, (ssl, http/1.1)}{0.0.0.0:8443}
2022-09-08 12:38:51.187:INFO:oejs.Server:main: Started @14766ms
^C2022/09/08 12:39:24 Received signal: interrupt
2022-09-08 12:39:24.506:WARN:oejs.AbstractConnector:JettyShutdownThread:
java.io.IOException: Thread signal failed
	at java.base/sun.nio.ch.NativeThread.signal(Native Method)
	at java.base/sun.nio.ch.ServerSocketChannelImpl.implCloseSelectableChannel(ServerSocketChannelImpl.java:365)
	at java.base/java.nio.channels.spi.AbstractSelectableChannel.implCloseChannel(AbstractSelectableChannel.java:242)
	at java.base/java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:112)
	at org.eclipse.jetty.server.ServerConnector.close(ServerConnector.java:371)
	at org.eclipse.jetty.server.AbstractNetworkConnector.shutdown(AbstractNetworkConnector.java:104)
	at org.eclipse.jetty.server.Server.doStop(Server.java:444)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:94)
	at org.eclipse.jetty.util.thread.ShutdownThread.run(ShutdownThread.java:133)
2022-09-08 12:39:29.571:INFO:oejs.AbstractConnector:JettyShutdownThread: Stopped ServerConnector@1856d32{SSL, (ssl, http/1.1)}{0.0.0.0:8443}
2022-09-08 12:39:29.574:INFO:oejs.session:JettyShutdownThread: node0 Stopped scavenging
2022-09-08 12:39:29.616:INFO:oejsh.ContextHandler:JettyShutdownThread: Stopped o.e.j.w.WebAppContext@1efd90f{/,null,STOPPED}{/opt/bastillion/jetty/bastillion}

2022-09-08 12:39:34.634:WARN:oejut.QueuedThreadPool:JettyShutdownThread: QueuedThreadPool[qtp21805061]@14cb805{STOPPING,10<=0<=200,i=9,r=-1,q=0}[NO_TRY] Couldn't stop Thread[qtp21805061-19-acceptor-0@394a55-ServerConnector@1856d32{SSL, (ssl, http/1.1)}{0.0.0.0:8443},5,main]
[startBastillion.sh INFO] copy JCEKS file to a save place
2022/09/08 12:39:35 Command exited with error: exit status 130

But when purging java 11 and installing java 17:

root@1cb12227602b:/opt/bastillion# apt autoremove --purge openjdk-11-jre-headless
root@1cb12227602b:/opt/bastillion# apt install openjdk-17-jre-headless
root@1cb12227602b:/opt/bastillion# java --version
openjdk 17.0.4 2022-07-19
OpenJDK Runtime Environment (build 17.0.4+8-Debian-1deb11u1)
OpenJDK Server VM (build 17.0.4+8-Debian-1deb11u1, mixed mode, sharing)

I get: java.lang.ExceptionInInitializerError Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism

root@1cb12227602b:/opt/bastillion# /usr/local/bin/dockerize -template /opt/BastillionConfig.properties.tpl:/opt/bastillion/jetty/bastillion/WEB-INF/classes/BastillionConfig.properties /opt/bastillion/startBastillion.sh

[startBastillion.sh INFO] restoring JCEKS file from persistent storage
2022-09-08 12:41:39.925:INFO::main: Logging initialized @2549ms to org.eclipse.jetty.util.log.StdErrLog
2022-09-08 12:41:41.117:INFO:oejs.Server:main: jetty-9.4.45.v20220203; built: 2022-02-03T09:14:34.105Z; git: 4a0c91c0be53805e3fcffdcdcc9587d5301863db; jvm 17.0.4+8-Debian-1deb11u1
2022-09-08 12:41:41.189:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///opt/bastillion/jetty/webapps/] at interval 1
2022-09-08 12:41:43.305:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=1259ms
2022-09-08 12:41:44.370:INFO:oejs.session:main: DefaultSessionIdManager workerName=node0
2022-09-08 12:41:44.370:INFO:oejs.session:main: No SessionScavenger set, using defaults
2022-09-08 12:41:44.375:INFO:oejs.session:main: node0 Scavenging every 600000ms
2022-09-08 12:41:46.695:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.w.WebAppContext@a7bfbc{/,file:///opt/bastillion/jetty/bastillion/,UNAVAILABLE}{/opt/bastillion/jetty/bastillion}
java.lang.ExceptionInInitializerError
	at java.base/javax.crypto.JceSecurityManager.<clinit>(JceSecurityManager.java:66)
	at java.base/javax.crypto.Cipher.<init>(Cipher.java:275)
	at java.base/com.sun.crypto.provider.CipherForKeyProtector.<init>(KeyProtector.java:436)
	at java.base/com.sun.crypto.provider.KeyProtector.unseal(KeyProtector.java:398)
	at java.base/com.sun.crypto.provider.JceKeyStore.engineGetKey(JceKeyStore.java:146)
	at java.base/java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:504)
	at java.base/java.security.KeyStore.getEntry(KeyStore.java:1549)
	at io.bastillion.manage.util.KeyStoreUtil.getSecretBytes(KeyStoreUtil.java:77)
	at io.bastillion.manage.util.EncryptionUtil.<clinit>(EncryptionUtil.java:33)
	at io.bastillion.common.util.AppConfig.encryptProperty(AppConfig.java:180)
	at io.bastillion.common.db.DBInitServlet.init(DBInitServlet.java:93)
	at org.eclipse.jetty.servlet.ServletHolder$Wrapper.init(ServletHolder.java:1345)
	at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:632)
	at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:415)
	at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:731)
	at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
	at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
	at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:755)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916)
	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46)
	at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
	at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:517)
	at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:157)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:173)
	at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:448)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:66)
	at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:785)
	at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:754)
	at org.eclipse.jetty.util.Scanner.scan(Scanner.java:641)
	at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:540)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:146)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:605)
	at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:252)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.server.Server.start(Server.java:423)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
	at org.eclipse.jetty.server.Server.doStart(Server.java:387)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$3(XmlConfiguration.java:1907)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1857)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.jetty.start.Main.invokeMain(Main.java:218)
	at org.eclipse.jetty.start.Main.start(Main.java:491)
	at org.eclipse.jetty.start.Main.main(Main.java:77)
Caused by:
java.lang.SecurityException: Can not initialize cryptographic mechanism
	at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:119)
	at java.base/javax.crypto.JceSecurityManager.<clinit>(JceSecurityManager.java:66)
	at java.base/javax.crypto.Cipher.<init>(Cipher.java:275)
	at java.base/com.sun.crypto.provider.CipherForKeyProtector.<init>(KeyProtector.java:436)
	at java.base/com.sun.crypto.provider.KeyProtector.unseal(KeyProtector.java:398)
	at java.base/com.sun.crypto.provider.JceKeyStore.engineGetKey(JceKeyStore.java:146)
	at java.base/java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:504)
	at java.base/java.security.KeyStore.getEntry(KeyStore.java:1549)
	at io.bastillion.manage.util.KeyStoreUtil.getSecretBytes(KeyStoreUtil.java:77)
	at io.bastillion.manage.util.EncryptionUtil.<clinit>(EncryptionUtil.java:33)
	at io.bastillion.common.util.AppConfig.encryptProperty(AppConfig.java:180)
	at io.bastillion.common.db.DBInitServlet.init(DBInitServlet.java:93)
	at org.eclipse.jetty.servlet.ServletHolder$Wrapper.init(ServletHolder.java:1345)
	at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:632)
	at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:415)
	at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:731)
	at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
	at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
	at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:755)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916)
	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46)
	at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
	at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:517)
	at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:157)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:173)
	at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:448)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:66)
	at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:785)
	at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:754)
	at org.eclipse.jetty.util.Scanner.scan(Scanner.java:641)
	at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:540)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:146)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:605)
	at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:252)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.server.Server.start(Server.java:423)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
	at org.eclipse.jetty.server.Server.doStart(Server.java:387)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$3(XmlConfiguration.java:1907)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1857)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.jetty.start.Main.invokeMain(Main.java:218)
	at org.eclipse.jetty.start.Main.start(Main.java:491)
	at org.eclipse.jetty.start.Main.main(Main.java:77)
Caused by:
java.lang.SecurityException: Couldn't iterate through the jurisdiction policy files: unlimited
	at java.base/javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:372)
	at java.base/javax.crypto.JceSecurity$1.run(JceSecurity.java:110)
	at java.base/javax.crypto.JceSecurity$1.run(JceSecurity.java:107)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
	at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:106)
	at java.base/javax.crypto.JceSecurityManager.<clinit>(JceSecurityManager.java:66)
	at java.base/javax.crypto.Cipher.<init>(Cipher.java:275)
	at java.base/com.sun.crypto.provider.CipherForKeyProtector.<init>(KeyProtector.java:436)
	at java.base/com.sun.crypto.provider.KeyProtector.unseal(KeyProtector.java:398)
	at java.base/com.sun.crypto.provider.JceKeyStore.engineGetKey(JceKeyStore.java:146)
	at java.base/java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:504)
	at java.base/java.security.KeyStore.getEntry(KeyStore.java:1549)
	at io.bastillion.manage.util.KeyStoreUtil.getSecretBytes(KeyStoreUtil.java:77)
	at io.bastillion.manage.util.EncryptionUtil.<clinit>(EncryptionUtil.java:33)
	at io.bastillion.common.util.AppConfig.encryptProperty(AppConfig.java:180)
	at io.bastillion.common.db.DBInitServlet.init(DBInitServlet.java:93)
	at org.eclipse.jetty.servlet.ServletHolder$Wrapper.init(ServletHolder.java:1345)
	at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:632)
	at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:415)
	at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:731)
	at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
	at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
	at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:755)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916)
	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46)
	at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
	at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:517)
	at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:157)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:173)
	at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:448)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:66)
	at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:785)
	at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:754)
	at org.eclipse.jetty.util.Scanner.scan(Scanner.java:641)
	at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:540)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:146)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:605)
	at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:252)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.server.Server.start(Server.java:423)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
	at org.eclipse.jetty.server.Server.doStart(Server.java:387)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$3(XmlConfiguration.java:1907)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1857)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.jetty.start.Main.invokeMain(Main.java:218)
	at org.eclipse.jetty.start.Main.start(Main.java:491)
	at org.eclipse.jetty.start.Main.main(Main.java:77)
2022-09-08 12:41:46.783:WARN:oejx.XmlConfiguration:main:
java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.JceSecurity
	at java.base/javax.crypto.Cipher.getInstance(Cipher.java:546)
	at java.base/sun.security.pkcs12.PKCS12KeyStore.lambda$engineLoad$1(PKCS12KeyStore.java:2147)
	at java.base/sun.security.pkcs12.PKCS12KeyStore$RetryWithZero.run(PKCS12KeyStore.java:257)
	at java.base/sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2145)
	at java.base/sun.security.util.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:242)
	at java.base/java.security.KeyStore.load(KeyStore.java:1473)
	at org.eclipse.jetty.util.security.CertificateUtils.getKeyStore(CertificateUtils.java:54)
	at org.eclipse.jetty.util.ssl.SslContextFactory.loadKeyStore(SslContextFactory.java:1203)
	at org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:322)
	at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:244)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.SslConnectionFactory.doStart(SslConnectionFactory.java:97)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:323)
	at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)
	at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.server.Server.doStart(Server.java:401)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$3(XmlConfiguration.java:1907)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1857)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.jetty.start.Main.invokeMain(Main.java:218)
	at org.eclipse.jetty.start.Main.start(Main.java:491)
	at org.eclipse.jetty.start.Main.main(Main.java:77)
java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.jetty.start.Main.invokeMain(Main.java:218)
	at org.eclipse.jetty.start.Main.start(Main.java:491)
	at org.eclipse.jetty.start.Main.main(Main.java:77)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.JceSecurity
	at java.base/javax.crypto.Cipher.getInstance(Cipher.java:546)
	at java.base/sun.security.pkcs12.PKCS12KeyStore.lambda$engineLoad$1(PKCS12KeyStore.java:2147)
	at java.base/sun.security.pkcs12.PKCS12KeyStore$RetryWithZero.run(PKCS12KeyStore.java:257)
	at java.base/sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2145)
	at java.base/sun.security.util.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:242)
	at java.base/java.security.KeyStore.load(KeyStore.java:1473)
	at org.eclipse.jetty.util.security.CertificateUtils.getKeyStore(CertificateUtils.java:54)
	at org.eclipse.jetty.util.ssl.SslContextFactory.loadKeyStore(SslContextFactory.java:1203)
	at org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:322)
	at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:244)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.SslConnectionFactory.doStart(SslConnectionFactory.java:97)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:323)
	at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)
	at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.server.Server.doStart(Server.java:401)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$3(XmlConfiguration.java:1907)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1857)
	... 7 more
java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.jetty.start.Main.invokeMain(Main.java:218)
	at org.eclipse.jetty.start.Main.start(Main.java:491)
	at org.eclipse.jetty.start.Main.main(Main.java:77)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.JceSecurity
	at java.base/javax.crypto.Cipher.getInstance(Cipher.java:546)
	at java.base/sun.security.pkcs12.PKCS12KeyStore.lambda$engineLoad$1(PKCS12KeyStore.java:2147)
	at java.base/sun.security.pkcs12.PKCS12KeyStore$RetryWithZero.run(PKCS12KeyStore.java:257)
	at java.base/sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2145)
	at java.base/sun.security.util.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:242)
	at java.base/java.security.KeyStore.load(KeyStore.java:1473)
	at org.eclipse.jetty.util.security.CertificateUtils.getKeyStore(CertificateUtils.java:54)
	at org.eclipse.jetty.util.ssl.SslContextFactory.loadKeyStore(SslContextFactory.java:1203)
	at org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:322)
	at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:244)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.SslConnectionFactory.doStart(SslConnectionFactory.java:97)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
	at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:323)
	at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)
	at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.server.Server.doStart(Server.java:401)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
	at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$3(XmlConfiguration.java:1907)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
	at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1857)
	... 7 more

Usage: java -jar $JETTY_HOME/start.jar [options] [properties] [configs]
       java -jar $JETTY_HOME/start.jar --help  # for more information
[startBastillion.sh INFO] copy JCEKS file to a save place
2022/09/08 12:41:46 Command exited with error: exit status 254

arm64 and amd64 are both fine.
I also tested azul zulu java 11 and 17 with the same result.

You can reproduce the error using my container:
docker run -u0 -it --platform linux/arm/v7 --rm -v $(pwd)/keydb:/keydb mietzen/bastillion:3.14.0 /bin/bash

@mietzen mietzen changed the title armhf java 17 Can not initialize cryptographic mechanism armhf java 17: Can not initialize cryptographic mechanism Sep 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant