使用jQuery';具有SSL客户端证书的ajax()函数
我想使用jQuery的使用jQuery';具有SSL客户端证书的ajax()函数,jquery,ajax,rest,authentication,ssl,Jquery,Ajax,Rest,Authentication,Ssl,我想使用jQuery的ajax()函数对REST服务进行XHR调用。基本上,这可以正常工作,但是REST服务只能通过https访问,并且需要客户端使用客户端证书进行身份验证 如何使用jQuery的ajax()函数发送客户端证书?如果请求源和目标位于同一个域中并且使用https:,则可以进行ssl ajax调用。但是您不能在ajax调用中进行ssl身份验证。客户端证书身份验证(a)仅在服务器请求时执行,并且(b)就HTTP和JavaScript层而言,由浏览器透明地执行 当服务器请求客户端证书(可
ajax()
函数对REST服务进行XHR调用。基本上,这可以正常工作,但是REST服务只能通过https访问,并且需要客户端使用客户端证书进行身份验证
如何使用jQuery的
ajax()
函数发送客户端证书?如果请求源和目标位于同一个域中并且使用https:,则可以进行ssl ajax调用。但是您不能在ajax调用中进行ssl身份验证。客户端证书身份验证(a)仅在服务器请求时执行,并且(b)就HTTP和JavaScript层而言,由浏览器透明地执行
当服务器请求客户端证书(可能需要在HTTP请求后重新协商)时,浏览器应提供一个弹出窗口来选择证书(该证书依赖于浏览器,不受任何JavaScript或HTML控制)或根据其设置自动选择一个证书
因此,不需要jQuery的ajax()
函数来处理客户机证书
恕我直言,我不确定浏览器是否会触发客户端证书选择弹出窗口,如果它只在AJAX调用的最初阶段出现(这可能取决于浏览器)。但是,如果已经选择了客户端证书(或者如果选择是自动的),浏览器将使用它进行身份验证,就像对任何其他正常请求一样。您已经看到了吗?:或者可能有帮助。没有,我没有看到,但第一个链接根本没有处理证书,不幸的是,第二个问题只涉及服务器端证书,但我需要的是客户端证书!如果您将您的评论转换为答案,我将投票并接受它。“但是您不能在ajax调用中进行ssl身份验证。”。为什么不呢?您所说的是什么样的身份验证?但是,如果已经选择了客户端证书(或者如果选择是自动的),浏览器将使用它进行身份验证,就像其他任何正常请求一样。这就是我所说的ssl身份验证在ajax中是不可能的call@Simon,啊,好吧,我所说的并不意味着不可能进行身份验证。它确实发生了,选择不受任何JavaScript函数的控制。选择不受任何JavaScript函数的控制。确切地