13

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

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

4

2 回答 2

14

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

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

因此,jQuery 的ajax()功能不能对客户端证书做任何事情。

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

于 2013-01-31T18:45:19.860 回答
4

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

于 2013-01-31T14:20:51.710 回答