如何使用Delphi获取Kerberos票证?

时间:2009-06-27 08:14:51

标签: web-services delphi active-directory kerberos

是否有示例显示Delphi如何调用Active Directory Kerberos服务器来请求票证授予票证/普通票证?

背景:对于交换机密信息的Web服务进行身份验证需要该票证。

编辑:一个简短的源代码示例将非常有用。我发现JEDI Windows Security Code Library非常令人印象深刻。我不确定它是否包含对Kerberos的支持。

2 个答案:

答案 0 :(得分:6)

根据this,您应该可以使用InitializeSecurityContext Windows API调用。

答案 1 :(得分:1)

首先阅读Kerberizing Applications Using Security Support Provider Interface以获得一般想法。 InitializeSecurityContext描述如下:

  

通过启动安全上下文   生成必须的安全令牌   被传递到服务器。该   使用此功能的应用程序是   称为SSPI客户端。

在msdn上,可以在Authentication Functions中找到SSPI函数列表。

有关实际示例代码,请参阅Win32示例的SSPI page。您可能会发现client.cpp有用。另一个类似的例子是GssClient.c。两个代码都在循环中运行,因为如果返回SEC_I_CONTINUE_NEEDED,会话将继续运行。