在HTTP通信中执行NTLM身份验证序列时,使用名为InitializeSecureContext的Windows API函数。它包括fContextReq参数,该参数接受一组标志,这些标志规定了库在处理挑战和创建响应方面的确切行为。
多年来我们一直在使用ISC_REQ_INTEGRITY | сISC_REQ_CONNECTION,这适用于大多数服务器。现在使用McAfee Web代理,这些标志组合会在第二步中在InitializeSecurityContext中生成INVALID_TOKEN错误。删除ISC_REQ_INTEGRITY标志有助于McAfee服务器(尚未使用ISA进行测试)。
问题是该标志是否被错误使用(并且McAfee代理是正确的,不使用它的侧面)或者这是迈克菲代理的故障或者标志组是否要在各方之间按照设计进行预先安排?我知道在不同的场景中有不同的标志要使用,我的问题是关于HTTP身份验证中的NTLM,其中另一方及其功能和使用的标志事先是未知的。