Java Waffle SSPI Kerberos单点登录:配置加密密码并调试
我们如何配置Java华夫格SSPI的加密密码 Kerberos单点登录(SSO)客户端应使用什么 我们如何最好地调试哪些密码 客户机和服务器实际上正在使用这些数据吗 背景 我们需要限制Kerberos SSO使用的加密密码,删除现在认为很弱的密码 我们的设置 Java应用服务器通过纯Java GSSAPI实现SSO Java客户端通过两个可配置的SSO API实现SSO:Java Waffle SSPI Kerberos单点登录:配置加密密码并调试,java,kerberos,sspi,waffle,Java,Kerberos,Sspi,Waffle,我们如何配置Java华夫格SSPI的加密密码 Kerberos单点登录(SSO)客户端应使用什么 我们如何最好地调试哪些密码 客户机和服务器实际上正在使用这些数据吗 背景 我们需要限制Kerberos SSO使用的加密密码,删除现在认为很弱的密码 我们的设置 Java应用服务器通过纯Java GSSAPI实现SSO Java客户端通过两个可配置的SSO API实现SSO: 在Linux或Windows 10上,没有激活凭据保护:通过纯Java GSSAPI 在凭证保护处于活动状态的Window
- 在Linux或Windows 10上,没有激活凭据保护:通过纯Java GSSAPI
- 在凭证保护处于活动状态的Windows 10上:通过Java华夫饼干+Microsoft SSPI API
Java.security.krb5.conf
来配置krb5.conf文件,在该文件中我们可以显式配置加密类型,例如:
[libdefaults]
default_tkt_enctypes = aes256-cts
default_tgs_enctypes = aes256-cts
permitted_enctypes = aes256-cts
使用GSSAPI,我们可以通过系统属性sun.security.krb5.debug=true
但是,在华夫格SSPI客户端上,两个系统属性都没有任何影响。回想起来,这并不奇怪,因为SSPI没有调用java运行时kerberos代码
我的猜测是SSPI从Windows操作系统获取了允许的加密类型,我们可能无法从java应用程序配置这些类型
Waffle网站建议使用以下链接进行Kerberos调试:
为什么不在AD中为相关用户和服务主体禁用这些较弱的密码?客户端将请求它可以使用哪些密码。如果AD只返回您认为安全的,客户端只能使用这些。@Steve这将支持我的直觉,“…SSPI从Windows操作系统获取加密类型…”,因此,如果用户和服务在AD中正确设置,则无需执行其他操作。这与纯Java GSSAPI形成对比,纯Java GSSAPI本质上没有与Windows/AD紧密集成,需要我通过krb5.conf文件配置加密类型