Keycloak:是否需要MIT Kerberos客户端?

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

我正在服务器上使用keycloak单点登录,并希望启用kerberos身份验证https://www.keycloak.org/docs/latest/server_admin/index.html#_kerberos

在文档中,他们说我必须在密钥斗篷服务器上安装MIT kerberos客户端。

据我所知,JDK具有用于kerberos协议的类。例如,这是我的例外之一

Caused by: KrbException: Invalid argument (400) - Cannot find key of appropriate type to decrypt AP REP - AES256 CTS mode with HMAC SHA1-96
at sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:278)
at sun.security.krb5.KrbApReq.<init>(KrbApReq.java:149)
at sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:108)
at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:829)
... 93 more

这也是参考链接。https://docs.oracle.com/javase/10/security/single-sign-using-kerberos-java1.htm#JSSEC-GUID-D4230975-A28B-4532-B1DD-3C7219A4867F

所以我的问题是什么实际上是MIT Kerberos客户端?它是JDK的一部分吗?还是JDK依赖的库?顺便说一句,我正在Windows机器上运行keycloak服务器,而不必安装任何其他客户端。

kerberos keycloak
1个回答
0
投票

在Linux上,MIT Kerberos客户端是一个OS程序包,其中包括C库和命令行实用程序,例如kinitklistktutil

  • 在RedHat / CentOS上等sudo yum install krb5-workstation
  • 在Ubuntu /等sudo apt-get install krb5-user


在Windows上,操作系统附带Kerberos的[[Microsoft实现(在Active Directory中使用),该实现包括大量的自定义扩展名和奇数,包括用于凭据的特定“ LSA缓存”由操作系统管理(并且非Microsoft应用程序可能无法访问,具体取决于操作系统类型以及您是否已调整注册表标志)。但是您可以安装Windows的MIT Kerberos应用程序,以弥合“标准”和“ Microsoft” Kerberos实现之间的差距。不知何故。警告>>在Windows上,您可能会以三种不同的klist.exe实用程序结束,它们列出了具有不同选项的不同票证缓存-一种与Windows捆绑在一起,一个与Java捆绑在一起,一个与

MIT Kerberos for Windows捆绑在一起

应用;注意您的路径。
© www.soinside.com 2019 - 2024. All rights reserved.