0

在 Azure App 服务中运行以下代码,尝试在同一 Azure 订阅中获取云服务的详细信息,并获取关于 Certificate is not associated with the subscription 的异常。

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

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:服务器未能对请求进行身份验证。验证证书是否有效并且与此订阅相关联。

订阅中的证书: 在此处输入图像描述

App服务中的证书 在此处输入图像描述

4

1 回答 1

0

若要使用已上传或导入应用服务的证书,请首先使其可供您的应用程序代码访问。您可以使用WEBSITE_LOAD_CERTIFICATES应用程序设置来执行此操作。有关更多详细信息,请参阅在 Azure 应用服务的应用程序代码中使用 SSL 证书

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

在此处输入图像描述

于 2018-06-18T05:25:01.213 回答