通过Kerberos或任何安全协议validationLinux客户端应用程序到Windows服务器应用程序

我需要一些指导或关键字我可以用于我的额外的研究。

假设有用C ++编写的客户端和服务器应用程序。 有可能将blob从客户端传递到服务器,反之亦然。 在Windows上,我们可以引入Kerberos利用率,生成,处理这样的blob,接受它,模拟线程等。在msdn上有一些例子。 这不是那么简单,但我已经设法使其工作。

但是,如果我的客户端运行在Linux机器上呢? 最简单和不安全的身份validation方式是通过blob以原始格式传递用户的用户名/域名/密码。 但是,如果我想使用Kerberos? 所以,问题是:

    你应该调查的API是GSSAPI。 如果Windows服务器应用程序使用SSPI(GSSAPI的Windows版本),那么您应该能够使用GSSAPI编写可互操作的客户端。 它确实取决于Windows服务器如何使用SSPI。 有关详细信息,请参阅MSDN SSPI 。

    麻省理工学院的kerberos库在大多数linux发行版中都可用,并且拥有你需要用kerberos来完成GSSAPI的所有库。

    GSSAPI是一个包装数据的库,你仍然需要实现所产生的协议交换。 取决于windows服务器的写法,这可能相当复杂。

    可以使用Active Directory作为您的KDC来编写Linux客户机/服务器kerberos应用程序。 看看Linux Samba代码应该可以帮助你理解为基于windows的服务编写Linux客户端所涉及的一些问题。