使用jQuery的ajax()函数和SSL客户端证书

时间:2013-01-28 17:33:44

标签: jquery ajax rest authentication ssl

我想使用jQuery的ajax()函数对REST服务进行XHR调用。基本上,这可以正常工作,但REST服务只能通过https访问,并要求客户端使用客户端证书进行身份验证。

如何使用jQuery的ajax()函数发送客户端证书?

2 个答案:

答案 0 :(得分:10)

客户端证书身份验证是(a)仅在服务器请求时执行,(b)由浏览器透明地完成,就HTTP和JavaScript层而言。

当服务器请求客户端证书(可能需要在HTTP请求之后重新协商)时,浏览器应该提供一个弹出窗口来选择证书(这取决于浏览器,而不是任何JavaScript或HTML控件) )或根据其设置自动选择一个。

因此,jQuery的ajax()函数无法对客户端证书做任何事情。

在我的脑海中,我不确定浏览器是否会触发客户端证书选择弹出窗口,如果它仅在AJAX调用期间首先发生(这可能取决于浏览器)。但是,如果已经进行了客户端证书选择(或者选择是自动的),浏览器将使用它进行身份验证,就像对任何其他正常请求一样。

答案 1 :(得分:2)

如果请求源和目标位于同一域并使用https:Securing AJAX & SSL,则可以进行ssl ajax调用。但是你不能在你的ajax调用中进行ssl身份验证。