33

We are using JCIFS(1.3.15) to authenticate from a Windows 7 client which sends only NTLM v2 responses.

We are getting the following error when we use a Windows 2008 R2 domain controller

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)

The authentication mechanism works fine in the following cases

1) Client supports both NTLM v1 and v2 (lmCompatibility of client is 1) and domain controller is Windows 2003

2) Client sends only NTLM v2 (lmCompatibility of client is 3) and domain controller is Windows 2003

3) Client supports both NTLM v1 and v2 (lmCompatibility of client is 1) and domain controller is Windows 2008

but we gets the above mentioned error when Client sends only NTLM v2 (lmCompatibility of client is 3) and domain controller is Windows 2008

Can some body help us here

Thanks in advance

Sajo C Mathew

Vizllx
  • 9,135
  • 1
  • 41
  • 79
Sajo Mathew
  • 363
  • 1
  • 5
  • 9

2 Answers2

1

JCifs is abandoned. If you need NTLM2, you may migrate to commercial solution for $250 (or $500 unlimited): http://www.ioplex.com/jespa.html, or free, an NTLM part taken out from Liferay: http://sourceforge.net/projects/ntlmv2auth/.

NTLM is being abandoned (mainly because of security vulnerabilities). Maybe you could migrate to Kerberos?

greenmarker
  • 1,599
  • 1
  • 21
  • 29
0

JCifs 1.3.18 properly supports NTLMv2 (I had the same problem).

Fallso
  • 1,311
  • 1
  • 9
  • 18