SMBJ验证器支持哪个NTLM版本(1或2)



我正在开发一个需要使用SMB访问网络共享的应用程序。有人告诉我,如果安全部门检测到使用NTLM v.1的身份验证尝试,那么相应的防火墙规则将被撤销。

因此,我需要确保SMBJ(我可能会使用它(支持NTLM v.2,并在默认情况下使用它。

SMBJ支持NTLM v.2吗?它默认使用它吗?

我自己试图找出

在SMBJ的源代码中,我发现了以下片段:

byte[] serverChallenge = challenge.getServerChallenge();
byte[] responseKeyNT = ntlmFunctions.NTOWFv2(String.valueOf(context.getPassword()), context.getUsername(), context.getDomain());
byte[] ntlmv2ClientChallenge = ntlmFunctions.(challenge.getTargetInfo());
byte[] ntlmv2Response = ntlmFunctions.getNTLMv2Response(responseKeyNT, serverChallenge, ntlmv2ClientChallenge);

名称getNTLMv2ClientChallengegetNTLMv2Response表明可以使用NTLM v.2。

此外,JCIFS主页声称SMBJ是一个后续项目:

幸运的是,有多个新的开源SMB Java项目可以尝试,包括以下项目:

jcifs代码库jcifs ngsmbj

根据其常见问题解答,JCIFS自1.3.0版本以来一直使用NTLM v.2。

如果

  1. JCIFS支持NTLM v.2,并在默认情况下使用它
  2. SMBJ基于JCIFS

则SMBJ应支持NTLM v.2,并在默认情况下使用它。

是的,SMBJ使用NTLMv2或SPNEGO进行身份验证。您可以配置要使用的。它不使用NTLMv1。

相关内容

  • 没有找到相关文章

最新更新