在尝试解决this problem时,我们注意到GSSAPI和SSPI客户端实现中的SPNEGO请求(KRB_AP_REQ)之间存在差异:


使用GSSPI将mutalFlag设置为False
使用SSPI,将interFlag设置为True。


在调用GSSAPI的Java代码中,我们可以根据需要将标志显式设置为true或false,但是我发现无法使用Waffle / SSPI来实现。

the Waffle code on Github中搜索“互斥”仅获得了一次成功:对于常量ISC_REQ_MUTUAL_AUTH

有没有一种方法可以通过Waffle / SSPI显式设置commonFlag?

即与以下GSSAPI代码等效的内容:

GSSContext context = gssManager.createContext(serverName, mechOid, null, GSSContext.DEFAULT_LIFETIME);
context.requestMutualAuth(false);

最佳答案

尽管我不建议禁用双向身份验证。华夫饼抽象度过高。我们有同样的问题:想要修改上下文标志。我们不得不修改源代码并重新编译。提出有关华夫饼的问题,并提供最佳PR。

有问题的代码在这里:https://github.com/Waffle/waffle/blob/0c6f832222b59537847281adf7d2959583809dff/Source/JNA/waffle-jna/src/main/java/waffle/windows/auth/impl/WindowsSecurityContextImpl.java#L117-L119

关于java - 华夫饼SSPI如何设置SPNEGO commonFlag,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60490501/

10-12 20:16