0

我有一个使用 Kerberos 进行客户端身份验证的 Linux 服务器应用程序和需要在 Windows 上运行的客户端。Kerberos 票证由 Windows Active Directory 颁发。如果我使用 MIT KfW 3.2.2,客户端将在服务器上成功验证。用于从 Kerberos 服务器检索 AS 和 TGS 票证并将其存储在 kerberos 凭证存储中的 API。但是这种方法的问题是用户需要再次输入他的凭据。解决方案是访问 MS LSA 存储,但这不起作用。ms2mit.exe 应用程序也没有。我以普通用户或管理员身份运行它,或者我完全禁用 UAC 都没有关系。这就是为什么我想在客户端使用 SSPI 来制作我将发送到服务器的 KRB_AP_REQ 消息。那可能吗。如果是的话怎么做?如果不,我还有什么其他选择?请注意,服务器已经构建,并且需要花费大量精力来更改它,因此我想在 Windows 上找到解决方案。

4

1 回答 1

1

您可以使用 Windows SSPI 子系统的AquireCredentialsHandleInitializeSecurityContext函数来获取有效票证并针对基于 Linux 的服务器进行身份验证。

首先使用从服务器获得的令牌,AcquireCredentialsHandle()然后使用多次调用,InitializeSecurityContext直到您通过身份验证。

于 2011-07-27T22:56:25.767 回答