如何使用Javascript/JQuery使用X509证书进行REST请求

How to use Javascript/JQuery make REST request with X509 certificate?

本文关键字:证书 REST 请求 X509 使用 何使用 Javascript JQuery      更新时间:2023-09-26

我问这个问题是因为当我使用Azure REST API时,它需要客户端证书。在C#中,我可以这样写代码:

 **X509Store certificateStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
        certificateStore.Open(OpenFlags.ReadOnly);
        X509Certificate2Collection certs = certificateStore.Certificates.Find(X509FindType.FindByThumbprint, 
            certThumbprint, false);**
        if (certs.Count == 0)
        {
            Console.WriteLine("Couldn't find the certificate with thumbprint:" + certThumbprint);
            return;
        }
        certificateStore.Close();
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(
            new Uri("https://management.core.windows.net/" + subscriptionId + "/services/hostedservices"));
        request.Method = "POST";
        **request.ClientCertificates.Add(certs[0]);**

但是我应该如何在JS中进行示例请求呢?

否。不能使用纯(基于浏览器的)JavaScript/jQuery针对Azure REST Management API进行编程。这有几个原因。首先,Azure REST管理不支持CORS(跨源资源共享)。另一个是身份验证——在基于浏览器的JavaScript中无法使用X.509。