Библиотеки управления Azure, отклоненный сертификат

Я пытаюсь использовать пакет NuGet для библиотек управления Azure для обновления развертывания с помощью ComputeManagementClient.UpgradeByNameAsync.

Я использую отпечаток своего сертификата, чтобы загрузить его из хранилища сертификатов и создать свои учетные данные, но мой запрос продолжает отклоняться со следующим сообщением:

Серверу не удалось подтвердить запрос. Убедитесь, что сертификат действителен и связан с этой подпиской.

Я сделал все, что мог, чтобы понять это, но ничего не работает.

Я проверил четыре раза, что мой отпечаток верен и что сертификат отображается в списке сертификатов управления в лазурном цвете. Есть идеи, где я могу ошибиться?


person Anthony Compton    schedule 24.03.2014    source источник
comment
Если я не ошибаюсь, с сертификатом на вашем локальном компьютере должен быть связан закрытый ключ. Это одна из частых причин, по которым я видел эту ошибку.   -  person Gaurav Mantri    schedule 24.03.2014


Ответы (3)


public static CertificateCloudCredentials FromPublishSettingsFile(string path, string subscriptionId)
        {
            try
            {
                var profile = XDocument.Load(path);
                var certificate = new X509Certificate2(
                    Convert.FromBase64String(profile.Descendants("PublishProfile").First()
                    .Attribute("ManagementCertificate").Value));
                return new CertificateCloudCredentials(subscriptionId, certificate);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

Используйте этот блок кода для создания объекта типа CertificateCloudCredentials из файла параметров публикации. После успешного создания объекта используйте приведенный ниже блок кода для создания computeManagementClient.

var computeManagementClient = new ComputeManagementClient(creds);

Хотя клиент управления вычислениями принимает только SubscriptionCloudCredentials, CertificateCloudCredentials является совместимым и будет приниматься.

person Sri Kanth    schedule 28.03.2014


Ответ Шри относительно точен. Я писал в блоге об использовании MAML с файлами настроек публикации в гораздо более длинной манере, чем Sri предоставляет выше, с некоторыми примерами кода, если вы хотите опробовать решение с вашими собственными файлами настроек публикации.

Вам нужно будет установить сертификат на локальный компьютер, прежде чем вы сможете его использовать (исходя из моего опыта). Думали ли вы о переходе на использование TokenCloudCredential, который позволит вам приклеить MAML к AAD с помощью пакет ADAL NuGet? Это может помочь вам смягчить проблемы, связанные с сертификатами.

person brady gaster    schedule 24.04.2014