如何获取SPNEGO / Kerberos会话密钥 - 并实现HTTP身份验证:在我自己的客户端上进行协商

时间:2011-09-22 12:24:50

标签: c web-services http-authentication spnego

我最近接触到了一种我不知道的新身份验证方法。 在阅读了一下并研究了解它之后,我明白它与SPNEGO有关,或者它可能只是spnego。

我在大型网络上运行windows xp,当我的浏览器自动打开它时 连接到网络中的Web服务,需要身份验证:

HTTP / 1.1 401未经授权 WWW-Authenticate:谈判

然后我的浏览器自动发送(以及更多的标题):

授权:协商(加密字符串)。

我总结说Handshake使用SPNEGO协议。

我需要做的是创建自己的客户端(实际上,它是一个使用此Web服务的机器人,需要进行身份验证)。我需要获得加密的字符串(就像我的浏览器获得它,可能通过使用一些SPNEGO协议)而无需任何用户交互(再次,作为我的浏览器)。

事实是,我没有足够的时间研究spnego协议以及如何实施它。

我正在使用c / c ++,但如果我没有选择c#也可以。 是否有任何函数/类/代码甚至是很好的教程可以帮助我很快实现它?

1 个答案:

答案 0 :(得分:1)

curl适用于Kerberos / spnego。我不确定这个功能在Windows上有多好,你应该试试看。它在Linux上运行良好。您可以查看源代码以了解它是如何完成的。