【问题标题】:Is JCIFS incompatible with windows 2008 R2 domain controllers?JCIFS 是否与 windows 2008 R2 域控制器不兼容?
【发布时间】:2011-05-25 20:17:19
【问题描述】:

我们正在使用 JCIFS(1.3.15) 从仅发送 NTLM v2 响应的 Windows 7 客户端进行身份验证。

当我们使用 Windows 2008 R2 域控制器时出现以下错误

jcifs.smb.SmbException: The parameter is incorrect.
    at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:545)
    at jcifs.smb.SmbTransport.send(SmbTransport.java:645)
    at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:322)
    at jcifs.smb.SmbSession.send(SmbSession.java:224)
    at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
    at jcifs.smb.SmbSession.logon(SmbSession.java:153)
    at jcifs.smb.SmbSession.logon(SmbSession.java:146)

身份验证机制在以下情况下可以正常工作

1) 客户端同时支持 NTLM v1 和 v2(客户端的 lmCompatibility 为 1),域控制器为 Windows 2003

2) 客户端只发送 NTLM v2(客户端的 lmCompatibility 为 3),域控制器为 Windows 2003

3) 客户端同时支持 NTLM v1 和 v2(客户端的 lmCompatibility 为 1),域控制器为 Windows 2008

但是当我们得到上面提到的错误时 客户端只发送 NTLM v2(客户端的 lmCompatibility 为 3),域控制器为 Windows 2008

这里有人可以帮助我们吗

提前致谢

萨乔·C·马修

【问题讨论】:

  • 什么版本的 JCIFS 以及你使用的是哪个 JVM?
  • 我认为 1.3.15 不适用于 NTLMv2。您应该使用最新版本 (1.3.17) 尝试一下,尽管我在 Windows 2008 域控制器方面取得了喜忧参半
  • 嗨,我在 jcifs 1.3.17 中也遇到了同样的错误。尝试了很多,你有任何解决方法吗

标签: java windows-7 jcifs windows-server-2008-r2 ntlmv2


【解决方案1】:

JCifs 已被放弃。如果您需要 NTLM2,您可以以 250 美元(或 500 美元无限制)迁移到商业解决方案:http://www.ioplex.com/jespa.html,或免费从 Liferay 中取出 NTLM 部件:http://sourceforge.net/projects/ntlmv2auth/

NTLM 正在被放弃(主要是因为安全漏洞)。也许您可以迁移到 Kerberos?

【讨论】:

    【解决方案2】:

    JCifs 1.3.18 正确支持 NTLMv2(我遇到了同样的问题)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 2012-08-27
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      • 2018-03-17
      • 2013-06-25
      相关资源
      最近更新 更多