2013-03-18 60 views
7

我在企业Internet代理后面的VMWare VPC中运行程序(Mathematica)。在IE,Chrome,Excel,Word,Acrobat Reader甚至MS Paint等VPC中安装的各种程序都可以毫无问题地从Internet获取数据,但Mathematica似乎无法正确处理代理。NTLM身份验证和智能卡

我的猜测是它无法处理代理的NTLM身份验证。

在前面的情况下,不同的防火墙后面,我取得了一些成功CNTLM为数学和代理之间的中间。 CNTLM与代理进行会谈,并负责NTLM身份验证,Mathematica被赋予CNTLM侦听的端口和IP地址(本地主机)以进行通信。然而,在那之前的案例中,我知道代理(即我自己)使用的凭证。

在当前情况下,我的登录使用智能卡和PIN进行。 VPC获得凭据通过透明(我不必输入),显然上面提到的所有程序自动知道它们。这让我认为Mathematica或CNTLM应该能够做到这一点。但是,我用作密码的PIN码不起作用(事实上,如果我经常尝试,我会被锁定)。我假设所使用的证书实际上并不是我自己的,但是要么是Windows密码(我没有作为智能卡用户),要么是从我的PIN和智能卡派生的。

我的问题是:我如何使这个设置工作?这可能涉及CNTLM,但也欢迎其他解决方案。

+0

你检查_Internet Connectivity_对话框中使用,从_Help_菜单访问?如果您使用_Check Internet Connectivity_,那么回应如何? – likeitlikeit 2013-05-02 17:44:01

+0

@likeitlikeit我做了所有这些,而且我已经将Mathematica无法处理NTLM身份验证的问题的主要原因归咎于此。我已经和Wolfram Research讨论过这个问题,他们同意MMA目前不能做NTLM。在这个问题中,我正在寻求一种解决方法,解决我遇到的这个问题的常见解决方法。 CNTLM有助于不执行NTLM的应用程序,但是这种情况下的问题在于,CNTLM不能与单点登录环境一起工作,在这种环境下,不会从直接用户名/密码条目中获取身份验证。 – Nescio 2013-05-02 17:58:03

+0

感谢您的澄清。 – likeitlikeit 2013-05-03 17:15:34

回答

4

您可以通过使用浏览器代理,如Fiddler

像CNTLM也提琴手充当本地代理有一个机会,让支持代理应用程序,但不支持NTLM(它们支持“纯”代理)不是直接使用公司代理,而是通过本地代理。

与CNTLM不同,Fiddler不需要配置凭证,但它使用当前用户信用来验证Web请求。

我不能肯定这是你的解决方案,因为我还没有喜欢你的环境,但这种解决方法中所报道的这 answer about ruby gem 或/其他一些情况下工作,这blog about mercurial所以我希望这可以与Mathematica一起使用。

注意:一旦运行提琴手它会自动配置浏览器代理本身(http://localhost:8888),因此你可以“从我的系统或浏览器使用的代理服务器设置”离开你的应用程序的代理服务器设置。顺便说提琴手它不仅是一个本地代理和也可以用于故障排除或调试,功能列表是here

+1

谢谢。它完美的作品。 – Nescio 2013-05-02 23:11:12