如何从kerberos票证中检索组成员资格?

时间:2011-11-25 01:14:17

标签: java kerberos

我正在尝试从Windows2008r2上生成的Kerberos票证中提取组成员资格信息。

在网址中,我发现了以下声明: Kerberos还在研究在Kerberos授权数据中包含组成员身份信息的机制。尽管将组名称包含在ACL中是有利的,但GSS-API目前还没有支持此功能的机制。

似乎Microsoft已将Kerberos扩展为包含基于此URL的组成员身份: http://msdn.microsoft.com/en-us/library/ms817918.aspx: Kerberos身份验证组成员身份扩展扩展了Kerberos身份验证网络服务(版本5)规范,以支持Microsoft Windows操作系统的交互式登录身份验证和组成员身份信息。扩展包括权限访问证书(PAC)结构,位于Kerberos v5票证的授权数据字段中。

该URL引用了故障单中的一个字段(授权数据),我无法确定如何使用此API进行访问: http://docs.oracle.com/javase/6/docs/api/org/ietf/jgss/GSSContext.html

有谁知道如何访问该字段?或者可能是如何从Windows2008r2上生成的Kerberos票证中提取组信息的指南。

我用Java编写,但也愿意用C语言编写。尽管使用windows作为kerberos服务器,但从故障单中提取组信息的逻辑正在UNIX上运行。

感谢您提供给我的任何帮助!

1 个答案:

答案 0 :(得分:1)

Java读取PAC字段时没有本机支持。 JaasLounge项目声称有一个有效的PAC解码器。如果你想使用C,Heimdal有PAC support。我不知道这在多大程度上有效。 祝你好运!

另一种方法是:如果你有空闲时间,抓住微软的文档,自己从Kerberos票据中读取字节,并从中创建一个开源项目:-D