【问题标题】:Validating a kerberos service ticket using gss-api使用 gss-api 验证 kerberos 服务票证
【发布时间】:2014-04-12 15:33:18
【问题描述】:

我想制作一个程序来使用 gss-api/kerberos 进行流量授权。到目前为止,我可以联系 SSOS 并获得服务票。如果用户没有 TGT,我将在我的代码中执行类似于 kinit 的操作。

我的代码以用户在其缓存中同时拥有 TGT 和服务票证结束。下面的方法会读取服务器发送的token。

majorStatus = gss_unwrap (&minorStatus, 
                              inContext, 
                              &inputBuffer, 
                              &outputBuffer, 
                              &encrypted, 
                              NULL;

现在 outputBuffer 是空的。我的意思是,我自己没有传递任何东西。我应该吗?

我想联系另一个服务器(服务),他们将检查我的票,如果有效,允许我通过他发送流量。

使用 GSSAPI 我如何验证这样的事情?我知道诸如 wrap/unwrap 之类的方法。服务会话密钥存储在客户端的什么位置?我在服务服务器中收到票后如何验证它?

如果我混淆了一些概念,我很抱歉,但这是我第一次使用如此复杂的 API。

提前谢谢...

【问题讨论】:

    标签: c kerberos gssapi


    【解决方案1】:
    I want to contact another server(the service) who will check my ticket and if valid allow me to send traffic through him.
    

    您使用 GSS-API 函数 init_security_context(在客户端)和 accept_security_context() 在服务端。参考http://web.mit.edu/kerberos/krb5-devel/doc/appdev/gssapi.html获取信息,也许可以在线查看一些示例(http://docs.oracle.com/cd/E19683-01/816-1331/sampleprogs-1/index.html

    使用 GSS,您实际上不会接触门票。使用这些函数,您可以在客户端和服务之间建立安全连接(这些函数使用票证,ofc),然后您可以继续进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 2021-10-20
      • 1970-01-01
      相关资源
      最近更新 更多