我在我的应用程序中使用 azure 服务管理 REST API。我在azure上上传了管理证书,并在本地有一份副本。
我将认证保存在应用程序本身的单独文件夹 (AzureCertificate) 中并引用该位置。
例如:
字符串证书路径 = Server.MapPath("~/AzureCertificate/") +
证书名称;
X509Certificate2 证书 = 新 X509Certificate2(certificatePath);
AzureCertificate -- 文件夹名称certificateName -
我的证书名称.cer
当我在本地开发环境中运行应用程序时,它工作正常。但是当我在天蓝色网站中部署相同的内容时,出现以下错误。
远程服务器返回错误:(403) Forbidden
这就是我提出请求的方式
字符串 uri = apiURL + 订阅Id + "/services/hostedservices";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(uri);
X509Certificate2 证书 = 新 X509Certificate2(certificatePath);
req.ClientCertificates.Add(证书);
req.Headers.Add("x-ms-version", "2009-10-01"); HttpWebResponse 资源 =
(HttpWebResponse)req.GetResponse();
但它在最后一行(req.GetResponse())抛出上述异常。
我们可以这样使用管理证书吗?
我的要求是开发一个使用azure REST API 的应用程序并在azure 中部署。
我还发现,以与管理 API 一起使用的正确方式创建证书非常重要 - 在我使用此脚本创建证书之前,我收到了 403 错误:
makecert -r -pe -a sha1 -n "CN=Windows Azure Authentication Certificate" -ss my -len 2048 -sp "Microsoft Enhanced RSA and AES Cryptographic Provider" -sy 24 ManagementApiCert.cer
我在这里得到了:http://blogs.msdn.com/b/davidhardin/archive/2013/08/27/azure-management-certificate-public-key-private-key.aspx http://blogs.msdn.com/b/davidhardin/archive/2013/08/27/azure-management-certificate-public-key-private-key.aspx这是几年前的产品,但对我有用,而我尝试过的其他较新的产品却没有。
另外,请确保您在门户的“设置”中的“管理证书”下上传证书,它不是 SSL 或远程访问证书。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)