Подтвердить что ты не робот

Является ли JCIFS несовместимым с контроллерами домена Windows 2008 R2?

Мы используем JCIFS (1.3.15) для аутентификации с клиента Windows 7, который отправляет только ответы NTLM v2.

Мы получаем следующую ошибку при использовании контроллера домена 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 of client равно 1), а контроллер домена - Windows 2003

2) Клиент отправляет только NTLM v2 (lmCompatibility клиента - 3), а контроллер домена - Windows 2003

3) Клиент поддерживает как NTLM v1, так и v2 (lmCompatibility клиента - 1), а контроллер домена - Windows 2008

но мы получаем вышеупомянутую ошибку, когда Клиент отправляет только NTLM v2 (lmCompatibility клиента - 3), а контроллер домена - Windows 2008

Может ли кто-то помочь нам здесь?

Заранее спасибо

Sajo C Mathew

4b9b3361

Ответ 1

JCifs заброшен. Если вам нужен NTLM2, вы можете перейти на коммерческое решение за 250 долларов США (или без 500 долларов США): http://www.ioplex.com/jespa.html или бесплатно, часть NTLM выведена от Liferay: http://sourceforge.net/projects/ntlmv2auth/.

NTLM прекращается (в основном из-за уязвимостей безопасности). Может быть, вы можете перейти на Kerberos?

Ответ 2

JCifs 1.3.18 правильно поддерживает NTLMv2 (у меня была такая же проблема).