kerberos - Jaas - 请求可更新的 Kerberos 票证

标签 kerberos jaas renewal

我有一个 Java API,它与 Kerberos 服务器通信并执行各种操作。截至目前,我的 API 向 Kerberos 服务器请求不可更新的票证。据我了解,jaas 配置文件有一个选项可以将 renewTGT 选项设置为 true,以便可以发出可更新的票证。然而,Jaas似乎对设置“renewUntil”时间有很多限制。谁能告诉我如何请求可更新的机票并控制其可更新性?基本上,有没有一种方法可以执行与 Java 等效的操作: kinit -R ?提前致谢。

最佳答案

从 JDK7 (1.7.0_55) 开始,JAAS Krb5LoginModule不提供任何在身份验证时请求可更新 TGT 的选项,因此目前无法使用 JAAS。您也许能够实现这一点,但您需要直接使用内部 Kerberos 类,绕过 JAAS。

内部,Krb5LoginModule实例化 sun.security.krb5.KrbAsReqBuilder使用提供的密码或 keyTab 获取凭据。 KrbAsReqBuilder有一个setOptions(KDCOptions options)方法,但是登录模块中没有调用该方法。如果可以访问,您可以调用KDCOptions#set(KDCOptions.RENEWABLE, true) ,如果 KDC 配置为允许更新票据,那么我希望返回的票据可以更新。

关于kerberos - Jaas - 请求可更新的 Kerberos 票证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283325/

相关文章:

linux - Spring Kerberos 扩展、SSO 和域外机器

用于测试的 Java 编写的嵌入式 Kerberos 服务器

ssl - Nginx 不考虑更新让我们加密证书

security - 是否可以购买新的 SSL 证书而不更新旧证书?

java - 如何使用带有 Kerberos 身份验证的嵌入式 Jetty Server 9?

.net - Win32异常 :The target principal name is incorrect when calling a WCF service with WebClient

java - 如何将用户凭据传递给 WebLogic 11g 身份验证提供程序?

java - 使用 Glassfish 3.1.2 和 JAAS 登录 JSF 2.0

java - JAAS/JAAC、DROOLS 或自定义

ssl - SSL 证书续订时的私钥更改