Payara拒绝启动:java.security.KeyStoreException:找不到JCEKS

问题描述 投票:0回答:1

[在Payara 5.194上运行Java EE 8 Web应用程序。自从我启动Payara和应用程序以来已经有一段时间了。

启动服务器时:我收到有关6个过期证书的消息。

 Subject: CN=Staat der Nederlanden Root CA - G2, O=Staat der Nederlanden, C=NL
 Subject: CN=Staat der Nederlanden Root CA - G2, O=Staat der Nederlanden, C=NL
 Subject: CN=AddTrust Qualified CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
 Subject: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
 Subject: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR
 Subject: CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net

此后,我得到此异常

[#|2020-05-30T10:47:11.755+0000|INFO|Payara 5.194|javax.enterprise.system.core|_ThreadID=22;_ThreadName=RunLevelControllerThread-1590835619275;_TimeMillis=1590835631755;_LevelValue=800;_MessageID=NCLS-CORE-00015;|
  Shutdown requested
MultiException stack 1 of 2
java.lang.RuntimeException: java.lang.RuntimeException: java.security.KeyStoreException: JCEKS not found
        at org.glassfish.security.services.impl.JCEKSPasswordAliasStore.containsKey(JCEKSPasswordAliasStore.java:169)
        at fish.payara.nucleus.microprofile.config.source.PasswordAliasConfigSource.getValue(PasswordAliasConfigSource.java:84)
        at fish.payara.nucleus.microprofile.config.spi.PayaraConfig.getValue(PayaraConfig.java:166)
        at fish.payara.nucleus.microprofile.config.spi.PayaraConfig.getOptionalValue(PayaraConfig.java:88)
        at fish.payara.microprofile.healthcheck.HealthCheckService.postConstruct(HealthCheckService.java:120)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1268)
        at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:309)
        at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:351)
        at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:463)
        at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:281)
        at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:65)
        at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2102)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:93)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:67)
        at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1213)
        at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1144)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: java.security.KeyStoreException: JCEKS not found
        at org.glassfish.security.services.impl.JCEKSPasswordAliasStore.pa(JCEKSPasswordAliasStore.java:103)
        at org.glassfish.security.services.impl.JCEKSPasswordAliasStore.containsKey(JCEKSPasswordAliasStore.java:167)
        ... 22 more
Caused by: java.security.KeyStoreException: JCEKS not found
        at java.security.KeyStore.getInstance(KeyStore.java:851)
        at com.sun.enterprise.security.store.PasswordAdapter.loadKeyStore(PasswordAdapter.java:131)
        at com.sun.enterprise.security.store.PasswordAdapter.<init>(PasswordAdapter.java:110)
        at org.glassfish.security.services.impl.JCEKSPasswordAliasStore.pa(JCEKSPasswordAliasStore.java:101)
        ... 23 more
Caused by: java.security.NoSuchAlgorithmException: JCEKS KeyStore not available
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
        at java.security.Security.getImpl(Security.java:697)
        at java.security.KeyStore.getInstance(KeyStore.java:848)

没有更改代码,什么也没有。 Payara不会开始。

payara jceks
1个回答
0
投票

所以我找到了问题。我确实升级到了JDK 9,所以我的JAVA_HOMEpath env变量指向了JDK 9。因此,我暂时将其更改为指向JDK 8。一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.