我想使用 jQuery 的 ajax()
函数对 REST 服务进行 XHR 调用。基本上,这工作正常,但 REST 服务只能通过 https 访问,并且需要客户端使用客户端证书进行身份验证。
如何使用 jQuery 的 ajax()
函数发送客户端证书?
最佳答案
就 HTTP 和 JavaScript 层而言,客户端证书身份验证 (a) 仅在服务器请求时执行,并且 (b) 由浏览器透明地完成。
当服务器请求客户端证书时(这可能需要在 HTTP 请求后重新协商),浏览器应提供一个弹出窗口以选择证书(这取决于浏览器,不受任何 JavaScript 或 HTML 控制) 或根据其设置自动选择一个。
因此,jQuery 的 ajax()
函数不能对客户端证书做任何事情。
我不确定浏览器是否会触发客户端证书选择弹出窗口,如果它仅在 AJAX 调用期间首先出现(这可能取决于浏览器)。但是,如果已经选择了客户端证书(或者如果选择是自动的),浏览器将使用它进行身份验证,就像它用于任何其他正常请求一样。
关于jquery - 将 jQuery 的 ajax() 函数与 SSL 客户端证书结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54458956/