关于 java.security.InvalidAlgorithmParameterException 的 Apereo CAS 登录错误

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

我按照链接中的步骤(https://github.com/apereo/cas-overlay-template)部署Apereo CAS。

测试环境:

CAS 版本:7.0.0-SNAPSHOT

中科院分院:硕士

CAS 构建日期/时间:2022-10-05T13:10:26Z

Spring Boot版本:2.7.4

春季版本:5.3.23

Java版本:17.0.4.1

操作系统架构:amd64

操作系统名称:Linux

操作系统版本:3.10.0-1160.62.1.el7.x86_64

操作系统日期/时间:2022-10-06T08:58:17.575986031

操作系统临时目录:/tmp

Apache Tomcat 版本:Apache Tomcat/9.0.67

运行以下命令后,我可以访问CAS主页(https://xxx.xxx.xxx.xxx:8443/cas/login)。

./gradlew clean build

./gradlew createKeystore

./gradlew run

但是我收到错误“CAS 无法处理此请求:“500:内部服务器错误”。 在我启动CAS的终端中,错误消息如下:

错误 [org.apereo.cas.web.flow.executor.EncryptedTranscoder] - java.security.InvalidAlgorithmParameterException:AlgorithmParameterSpec 不是 GCMParameterSpec

未检查.java:lambda$static$0:61

Unchecked.java:lambda$supplier$38:1698

FunctionUtils.java:doUnchecked:370

我通过搜索找不到合适的解决方案,所以请帮忙。 谢谢。

java security cas apereo
5个回答
1
投票

切换到 Apereo CAS 版本 6.6 和 Java 11 即可工作。

java --version
openjdk 11.0.16.1 2022-08-12 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.16.1.1-1.el7_9) (build 11.0.16.1+1-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.16.1.1-1.el7_9) (build 11.0.16.1+1-LTS, mixed mode, sharing)

git checkout 6.6

./gradlew clean build

./gradlew createKeystore

./gradlew run

0
投票

一种解决方法是设置

cas.webflow.crypto.enabled=false
,但这样做并不理想。


0
投票

我已经完美解决这个问题了。问题是你的cas实际使用的jdk版本和通过

java --version
查看的版本不一样。只需要检查cas启动日志中的jdk版本是否相同即可


0
投票

不要使用Orcale jdk,我和你有同样的问题。它对我来说与 Amazon Corretto-17 配合得很好。 My Environment Configuration


0
投票

这是一个错误。经过一番调试后我得到了这个

cas.webflow.crypto.encryption.keySize=32

但我不知道提交拉取请求

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