想澄清一些GSS-API kerberos编程的一般概念

时间:2013-01-20 08:54:46

标签: c++ kerberos gssapi

我是GSS-API的新手。我参与了一个项目,其目标是实施KERBEROS 我在麻省理工学院的http://web.mit.edu/kerberos/krb5-latest/doc/appdev/index.html链接中阅读了应用程序开发人员文档  并阅读RFC-2744 GSS-API C BINDINGS。

我的问题是,
* KERBEROS协议包括 -
      AS-REQ,AS-REP,TGS_REQ,TGS-REP,AP-REQ,AP-REP
* GSS-API 包含 -
      凭证管理例程(例如gss_acquire_cred),上下文级例程(例如gss_init_sec_context)等

如何利用GSS-API例程来实现kerberos?
既然,我没有看到任何TICKET生产程序,TIMESTAMP嵌入程序等在kerberos中存在?

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,首先,gss-api是(通用安全服务API)。它被实现为kerberos api之上的一层。请记住,gssapi不需要使用kerberos(它也可以很容易地使用其他一些身份验证协议)。

GSS-API无法获得TGT。这是由kerberos api完成的(您可以编写一些基于krb5 api的代码来获取kerberos信用,然后转换为gsscred)

上下文是由双方(auth发起者和接受者)维护的对象。它们通过使用gss_init_sec_context(发起方调用)和gss_accept_sec_context(接受方)进行更新。在Kerberos的情况下,它基本上是使用TGT,ST等,然后最终建立信任和共享会话密钥的整个过程。

所以回答你的问题 - 你不使用GSS-API来实现Kerberos功能。反过来了。