如何在Python中获取Kerberos票证

时间:2014-10-23 17:57:31

标签: python kerberos mit-kerberos

如果您知道用户名/密码,有没有办法在Python中创建Kerberos票证?

我已经安装了MIT Kerberos,我可以通过KINIT以交互方式完成此操作,但希望从Python中完成。

2 个答案:

答案 0 :(得分:2)

从我在使用kerberos时所学到的知识(虽然在我的工作中我用过C)是你几乎无法取代KINIT。有两种方法可以使用编程来模拟KINIT行为,它们是:使用适当的参数从python调用kinit shell命令或(正如我所做的)调用一个几乎可以完成所有操作的方法:

krb5_get_init_creds_password(k5ctx,& cred,k5princ,password,NULL,NULL,0,NULL,NULL);

所以这是一个C原语,但你应该找到一个python(我假设),它会做同样的事情。基本上这个方法将接收kerberos会话,一个主体(从用户名构建)和密码。为了完全取代KINIT行为,你需要比这更多一些(启动会话,构建主体等)。对不起,既然我没有使用python我的回答可能不是你想要的,但我希望我能给你一些启示。随意询问有关kerberized-applications如何工作的任何概念性问题。

答案 1 :(得分:1)

您显然正在寻找this,但我认为Python binding已经过时了。我建议您自己创建一个基于SWIG的绑定,仅用于一些功能。这应该可以解决你的问题。

相关问题