c - 如何获取 SPNEGO/Kerberos session key - 并实现 HTTP 身份验证 :Negotiate on my own client

标签 c web-services http-authentication spnego

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

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

HTTP/1.1 401 未经授权 WWW-身份验证:协商

然后我的浏览器会自动发送(当然还有更多 header ):

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

我得出的结论是,这次握手使用了 SPNEGO 协议(protocol)。

我需要做的是创建我自己的客户端(实际上,它是一个使用需要身份验证的网络服务的机器人)。我需要在没有任何用户交互的情况下获取该加密字符串(就像我的浏览器获取它一样,可能是通过使用某些 SPNEGO 协议(protocol))(同样,就像我的浏览器一样)。

问题是,我没有足够的时间来研究 spnego 协议(protocol)以及如何实现它。

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

最佳答案

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

关于c - 如何获取 SPNEGO/Kerberos session key - 并实现 HTTP 身份验证 :Negotiate on my own client,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7514678/

相关文章:

C计算字符串中某个字符出现的次数

javascript - ios - 如何从 objective-c 更改 .html 文件中的字符串并更新 webview?

java - Tomcat 无法部署 JAX-WS Web 服务实现

c - True Type 字体文件

在 C 语言的替换程序中成功进行初始输入后,无法输入第二个输入

android - 如何将参数传递给json?

authentication - authenticate_or_request_with_http_token 永远不会通过

http-authentication - 在没有 LDAP 身份验证的情况下使用 Gitosis 对 Gitweb 进行身份验证?

php - 如何使用纯 HTTP 身份验证和 PHP 在 Apache 下获取经过身份验证的用户名?

c - Linux C:类似于Shell的环境-用于单独执行-C命令? (C口译员)