java票证管理办法_如何使用Java验证针对服务器的Kerberos票证?

我们使用JAAS在Java应用程序中使用Windows Kerberos票证缓存启用单点登录.我们的jaas.conf配置文件如下所示:

LoginJaas {

com.sun.security.auth.module.Krb5LoginModule required

useTicketCache=true

doNotPrompt=true

debug=true;

};

这样,我们可以创建一个Jaas LoginContext并成功获取用户的Kerberos票证.我们使用JMI将此票发送到服务器应用程序.我们不能做的事情是在服务器上验证Kerberos票据实际上是由我们的Active Directory创建的.

目前,我们通过简单地检查服务器主体(KerberosTicket.getServer())名称是否在我们的域名中具有域名,对票证进行非常不安全的验证.但是,当然,任何人都可以使用相同的领域名称设置自己的Kerberos服务器,并使用该机票启动应用程序.

我发现的一个想法是使用Kerberos票证对Active Directory LDAP进行身份验证.不幸的是,我们使用Windows 7并重新使用Kerberos票证来验证LDAP只能在设置注册表项时使用(参见http://java.sun.com/j2se/1.5.0/docs/guide/security/jgss/tutorials/Troubleshooting.html,搜索allowtgtsessionkey).这对我们的用户是不能接受的.

有没有办法验证我们的Active Directory服务器的票?我怀疑有没有办法检查KerberosTicket.getServer()票是否等于我们的服务器的票,但我不知道如何做到这一点.更新:KerberosTicket().getServer()仅返回一个KerberosPrincipal,它只包含服务器票证名称和领域,因此不适用于验证.

谢谢你的帮助,

memminger

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值