如何通过Code,.NET从App服务获取Azure Cloud Service详细信息

时间:2018-06-12 06:44:01

标签: c# .net azure azure-management-api azure-management-portal

在Azure App服务中运行以下代码,尝试在同一Azure订阅中获取云服务的详细信息,并获取有关证书的例外与订阅无关。

虽然在订阅刀片下,在“管理证书”下 证书确实存在并获得授权。

X509Store certStore = new X509Store(StoreName.My, storeLocation);
                    certStore.Open(OpenFlags.ReadOnly);


X509Certificate2Collection certCollection = certStore.Certificates.Find(X509FindType.FindByThumbprint, prodThumbprint, false);
                    if (certCollection.Count > 0)
                        CredentialsProd = new CertificateCloudCredentials(DBConstants.AZURE_SUBSCRIPTION_ID_PROD, certCollection[0]);

        using (var client = new ComputeManagementClient(Credentials))
         {
             var t = client.HostedServices.GetDetailedAsync(serviceName, CancellationToken);
         }

例外:

  

ForbiddenError:服务器无法验证请求。验证证书是否有效并与此订阅相关联。

订阅中的证书: enter image description here

App服务中的证书 enter image description here

1 个答案:

答案 0 :(得分:0)

要使用上传到App Service或导入App Service的证书,请首先使其可以访问您的应用程序代码。您可以使用 WEBSITE_LOAD_CERTIFICATES 应用设置进行此操作。有关更多详细信息,请参阅Use an SSL certificate in your application code in Azure App Service

  

添加名为 WEBSITE_LOAD_CERTIFICATES 的应用设置,并将其值设置为证书的指纹。要使多个证书可访问,请使用逗号分隔的指纹值。要使所有证书可访问,请将值设置为*。

enter image description here