我想使用GSS-API / Kerberos进行程序来进行流量授权。到目前为止,我可以联系SSO并获得服务票。如果用户没有TGT,我正在做类似于我的代码中的kinit。

我的代码与用户结束,其中在其缓存中具有TGT和服务票证。以下方法将读取服务器发送的令牌。

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

现在输出缓冲是empy。我的意思是,我不是自己通过任何东西。我应该是吗?

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

使用GSSAPI我如何透过这样的事情?我知道包装/ unwrap等方法。存储在客户端中的服务会话密钥在哪里?在我收到服务服务器中的票证后,我如何验证它?

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

提前感谢...

有帮助吗?

解决方案

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),您可以从那时起。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top