他们对keycloak的任何限制是仅适用于server-jre而不是client-jre? 在我的linux机器上,我们安装了以下版本
/usr/sbin/alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-2.b16.el7_4.x86_64/jre/bin/java)
+ 2 /usr/java/jre1.8.0_102/bin/java
然后使用openjdk工作正常,但是keycloak没有提出Oracle client-jre 并且给出了这个异常
2018-03-22 12:30:56,163错误 [org.jboss.as.controller.management-operation](ServerService Thread 池 - 26)WFLYCTL0013:操作(“添加”)失败 - 地址:([ (“subsystem”=>“datasources”), (“data-source”=>“KeycloakDS”)]):org.jboss.as.server.services.security.VaultReaderException: WFLYSRV0227:访问Vault的安全性异常 at org.jboss.as.server.services.security.RuntimeVaultReader.retrieveFromVault(RuntimeVaultReader.java:124) at org.jboss.as.server.RuntimeExpressionResolver.resolvePluggableExpression(RuntimeExpressionResolver.java:65) at org.jboss.as.controller.ExpressionResolverImpl.resolveExpressionString(ExpressionResolverImpl.java:341) at org.jboss.as.controller.ExpressionResolverImpl.parseAndResolve(ExpressionResolverImpl.java:246) at org.jboss.as.controller.ExpressionResolverImpl.resolveExpressionStringRecursively(ExpressionResolverImpl.java:143) at org.jboss.as.controller.ExpressionResolverImpl.resolveExpressionsRecursively(ExpressionResolverImpl.java:84) at org.jboss.as.controller.ExpressionResolverImpl.resolveExpressions(ExpressionResolverImpl.java:66) 在org.jboss.as.controller.ModelControllerImpl.resolveExpressions(ModelControllerImpl.java:868) 在org.jboss.as.controller.OperationContextImpl.resolveExpressions(OperationContextImpl.java:1269) 在org.jboss.as.controller.ParallelBootOperationContext.resolveExpressions(ParallelBootOperationContext.java:438) 在org.jboss.as.controller.AttributeDefinition $ 1.resolveExpressions(AttributeDefinition.java:619) 在org.jboss.as.controller.AttributeDefinition.resolveValue(AttributeDefinition.java:683) at org.jboss.as.controller.AttributeDefinition.resolveModelAttribute(AttributeDefinition.java:642) at org.jboss.as.controller.AttributeDefinition.resolveModelAttribute(AttributeDefinition.java:616) at org.jboss.as.connector.util.ModelNodeUtil.getResolvedStringIfSetOrGetDefault(ModelNodeUtil.java:35) at org.jboss.as.connector.subsystems.datasources.DataSourceModelNodeUtil.from(DataSourceModelNodeUtil.java:178) at org.jboss.as.connector.subsystems.datasources.AbstractDataSourceAdd.secondRuntimeStep(AbstractDataSourceAdd.java:348) at org.jboss.as.connector.subsystems.datasources.AbstractDataSourceAdd $ 1.execute(AbstractDataSourceAdd.java:133) 在org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:980) at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:726) at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:450) 在org.jboss.as.controller.ParallelBootOperationStepHandler $ ParallelBootTask.run(ParallelBootOperationStepHandler.java:386) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source) 在java.lang.Thread.run(未知来源) 在org.jboss.threads.JBossThread.run(JBossThread.java:320)引起:org.jboss.security.vault.SecurityVaultException: java.security.InvalidKeyException:非法密钥大小或默认值 参数 在org.picketbox.plugins.vault.PicketBoxSecurityVault.retrieve(PicketBoxSecurityVault.java:297) 在org.jboss.as.server.services.security.RuntimeVaultReader.getValue(RuntimeVaultReader.java:157) 在org.jboss.as.server.services.security.RuntimeVaultReader.retrieveFromVault(RuntimeVaultReader.java:110) ... 25更多引起:java.security.InvalidKeyException:非法的密钥大小或默认参数 在javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026) 在javax.crypto.Cipher.implInit(Cipher.java:801)
但在更新Oracle Java并使用 server-jre
之后,同样的设置使用 open-jdk 没有任何问题[root@ha1 ~]# /usr/sbin/alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-2.b16.el7_4.x86_64/jre/bin/java)
+ 2 /usr/java/jre1.8.0_102/bin/java
这一次它运行得非常好,并且运行时没有任何问题。