我在我的应用程序中使用 azure 服务管理 REST API。我在 azure 上上传了管理证书,并在本地有一份副本。我将认证保存在应用程序本身的单独文件夹 (AzureCertificate) 中,并引用该位置。例如:
string certificatePath = Server.MapPath("~/AzureCertificate/") + certificateName;
X509Certificate2 证书 = 新 X509Certificate2(certificatePath);
AzureCertificate -- 文件夹名称 certificateName - MyCertificateName.cer
当我在本地开发环境中运行应用程序时,它工作正常。但是当我在 azure 网站中部署相同的内容时,我得到了以下错误。
远程服务器返回错误:(403) Forbidden
这就是我提出请求的方式
字符串 uri = apiURL + subscriptionId + "/services/hostedservices";
HttpWebRequest 请求 = (HttpWebRequest)HttpWebRequest.Create(uri);
X509Certificate2 证书 = 新 X509Certificate2(certificatePath);
req.ClientCertificates.Add(证书);
req.Headers.Add("x-ms-version", "2009-10-01"); HttpWebResponse res =
(HttpWebResponse)req.GetResponse();
但它在最后一行 (req.GetResponse()) 抛出上述异常。
我们可以这样使用管理证书吗?
我的要求是开发一个使用 azure REST API 并在 azure 中部署的应用程序。