我正在使用 POCO 通过 HTTPClientSession 类向服务器发送 http 请求。请求必须通过代理(使用 HTTPClientSession->setProxyConfig 即可)。当代理需要 NTLM 身份验证时,它使用身份验证方法“Poco::Net::HTTPClientSession::ProxyAuthentication::PROXY_AUTH_NTLM”。但是当代理需要KERBEROS身份验证时,就没有身份验证方法了。您知道是否可以使用 POCO 通过需要 Kerberos 身份验证的代理发送 http 请求?
我尝试通过需要 Kerberos 身份验证的代理发送 http 请求。是否可以?你知道怎么做吗?
好像不太可能。
特别是对于 Windows,Poco 在
SSPINTLMProvider.cpp
中拥有 90% 的必要 SSPI 代码,可以通过复制粘贴这些代码来创建 Kerberos 提供程序(主要是用 "NTLM"
替换 "Negotiate"
以使其调用 SPNEGO)。对于其他平台,需要使用 GSSAPI 重新实现(其概念与 SSPI 类似,但不兼容 API)。