我可以在我的xcode项目中嵌入任何NTLM质询响应身份验证代码吗?

我可以在我的xcode项目中嵌入任何NTLM质询响应身份验证代码吗?,xcode,authentication,ntlm,smb,Xcode,Authentication,Ntlm,Smb,我正在寻找一些NTLM质询-响应身份验证代码,我可以将其嵌入我的xcode项目(用于我的iPhone应用程序),例如,输入密码和8字节质询,代码可以生成24字节的响应 我检查了samba源代码,发现我不可能将NTLM质询-响应身份验证的部分删除,并将其添加到我的xcode项目中。那么我还能求助于其他渠道吗 谢谢 可从Microsoft以开放规范的形式获得。我不知道有一个Objective C实现,所以从规范中简单地构建您自己的可能是最容易的。我终于设法解决了它 所以首先我需要将openssl添加

我正在寻找一些NTLM质询-响应身份验证代码,我可以将其嵌入我的xcode项目(用于我的iPhone应用程序),例如,输入密码和8字节质询,代码可以生成24字节的响应

我检查了samba源代码,发现我不可能将NTLM质询-响应身份验证的部分删除,并将其添加到我的xcode项目中。那么我还能求助于其他渠道吗


谢谢

可从Microsoft以开放规范的形式获得。我不知道有一个Objective C实现,所以从规范中简单地构建您自己的可能是最容易的。

我终于设法解决了它

所以首先我需要将openssl添加到我的iPhone项目b/c中,我需要MD4和DES。我不确定是否有其他方法获得MD4和DES。谢天谢地,有人已经在xcode中添加了openssl,请检查这里

然后在此基础上添加ntlm实现。我在这里使用了示例代码


不过值得注意的是,该示例代码有一些问题(我花了几个小时才弄明白)。但是我们也可以在那里使用关键字(函数名)进行谷歌代码搜索以找到正确的实现。

值得一提的是,这是原始的NTLM,而不是NTLM2。很高兴知道这一点。但他们表示,“大多数Windows系统默认情况下不需要NTLMv2。在协商质询/响应时,即使是较新的Windows版本也会默认使用LM/NTLM组合,除非它们专门配置为不使用。”--我正在将smb支持添加到我的iphone应用程序中,我不太可能执行NTLM2。我不确定这篇文章是什么时候写的:如果我没有记错的话(坦白说,我可能没有记错),Windows Server 2008R2是第一个默认只执行NTLM2的版本(禁用NTLM兼容性)。但我可能错了,这可能是一个更微妙的区别(Active Directory策略等)。为了完整性起见,我当然不会添加NTLM2,但如果您发现自己无法与某些用户(例如,超过14个字符的密码)或某些服务器进行身份验证,我可能会记住这一点。