Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery';具有SSL客户端证书的ajax()函数_Jquery_Ajax_Rest_Authentication_Ssl - Fatal编程技术网

使用jQuery';具有SSL客户端证书的ajax()函数

使用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层而言,由浏览器透明地执行 当服务器请求客户端证书(可

我想使用jQuery的
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函数的控制。确切地