我试图在使用JGit拉取回购时使用Kerberos身份验证,但出现以下错误:
来自Ticket Cache的空凭据
[Krb5LoginMoules]身份验证失败
这是我的登录名。形态
com.sun.security.jgss.krb5.initiate {
com.sun.security.auth.module.Krb5LoginModule required
debug="true"
doNotPrompt="true"
useTicketCache="true"
principal="abcd"
refreshKrb5Config="true"
isInitiator="true";
};
我使用自定义的JcshConfigSessionFactory和重写配置方法,如下所示
protected void configure(Host hc, Session session) {
session.setConfig("StrictHostKeyChecking", "no");
session.setConfig("GSSAPIAuthentication", "yes");
session.setConfig("KbdInteractiveAuthentication", "no");
session.setConfig("PasswordAuthentication", "no");
session.setConfig("ChallengeResponseAuthentication", "no");
session.setConfig("PreferredAuthentications", "gssapi-with-mic");
session.setConfig("Protocol", "2");
}
“klist”说凭证缓存是API(我在MacOS Sierra上)。我怎样才能克服这次失败?
此错误表示带有票证凭据的文件为空。此外,由于您已经禁用了密码提示符(使用doNotPrompt="true"
),因此没有其他方法用于Krb5LoginMoules
进行身份验证,因此它报告失败。
请注意,您没有在login.conf
(使用ticketCache="path_to_file"
)指定缓存文件。所以,为了避免混淆,定义它,并仔细检查您是否有这样的文件和它是否有凭据(使用klist-cpath_to_file
)
如果没有有效的缓存,可以使用kinit-c path_to_file
)创建一个新的缓存。
问题内容: 有谁知道如何使用Java GSS-API从密钥分发中心(KDC)获取服务票证? 我有一个胖客户端应用程序,该应用程序首先使用Krb5LoginModule通过JAAS进行身份验证以从票证缓存中获取TGT(背景:Windows例如使用kerberos实现,并将票证授予票证存储在安全的存储区域中)。从LoginManager中,我获得包含TGT的Subject对象。现在,我希望当我为我的服
get 获取普通类型的值 // 获取key 为 gender 的数据 await this.app.redis.get('gender') type 获取数据类型 ctx.body = await this.app.redis.type('name') 返回 string lrange 获取 list 类型中所有数据 // 表示获取数组中所有的值 0 ,-1 ctx.body = await th
我正在开发一个用JAAS进行身份验证的Java应用程序,应该如下工作:(I)当用户的票证已经在本地缓存中时,它应该在不询问凭据的情况下对用户进行身份验证,(ii)当缓存中没有“uclient”的票证时,它应该请求用户名/密码,并将获取的票证保存到本地缓存中。 我的应用程序能够执行“i”,但不能执行“ii”,它正确地验证用户(创建主题/主体),但不会将Krb票证持久保存到缓存中。 问题 我如何实现/
问题内容: 在我的服务器应用程序中,我正在从Java应用程序连接到受Kerberos保护的Hadoop群集。在应用程序启动时,我会打电话给 我正在使用本机API(例如和)进行基本的File操作 我的应用程序在24小时后引发以下错误。这就是Kerberos票证的到期日。 我的应用程序使用Java 8,并且遇到了此错误。 但是,看起来我的应用程序使用的hadoop- common-2.7.1.2.4.
问题内容: 我有一个Java服务器和客户端应用程序。这些应用程序在Windows计算机上运行。使用kerberos身份验证的服务器上的客户端登录。它是使用jgssapi实现的。 首先,客户端从系统中检索存储的缓存tgt票证,以从kdc生成令牌。问题是- 在Windows中锁定用户会话(锁定屏幕或更改用户)后,系统中没有缓存的tgt票证(由C:\ Windows \ System32 \ klist
问题内容: 我正在开发一个使用JAAS执行身份验证的Java应用程序,它应按以下方式工作:(i)当用户的票证已在本地缓存中时,它应在不询问凭据的情况下对用户进行身份验证;(ii)当没有“ uclient”的票证时在缓存中,它应该询问用户名/密码并将获取的票证保存到本地缓存中。 我的应用程序可以执行“ i”,但不能执行“ ii”,它可以正确验证用户身份(创建主题/主体),但是不能将Krb票据持久化到