Как установить ssl-сертификат стороннего сервера в доверенном корневом хранилище Azure для WebApp?

Я разместил брокера Mosquitto (сервер MQTT) на виртуальной машине Azure. Я пытаюсь подключиться к брокеру MQTT через веб-задание Azure. Когда я подключаюсь к брокеру с локального компьютера, используя самоподписанный сертификат сервера (соединение ssl / tls), он работает нормально, но когда я размещаю то же приложение в Azure AppService, он выдает ошибку: недействительный удаленный сертификат в соответствии с процедурой проверки сертификата. Я установил тот же файл сертификата pfx на портале Azure, но получаю ту же ошибку. Как установить ssl-сертификат стороннего сервера в доверенном корневом хранилище Azure, чтобы он мог проверить сертификат через доверенное корневое хранилище.


person Kaveri Kale    schedule 09.06.2017    source источник


Ответы (1)


Насколько мне известно, у нас нет разрешения на установку ssl-сертификата стороннего сервера в доверенном корневом хранилище Azure для WebApp.

Мы могли только загрузить сертификат стороннего сервера из хранилища текущего пользователя.

Если сервер поддерживает использование SSL личного магазина для подключения, я предлагаю вам попробовать установить его на лазурном портале.

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

1.Загрузите сертификат:

введите здесь описание изображения

2. Скопируйте отпечаток пальца.

введите здесь описание изображения

3. Добавьте отпечаток в настройках приложения для загрузки сертификата при работе веб-сайта.

введите здесь описание изображения

4. Добавьте код в функцию веб-заданий для загрузки сертификата:

X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
    certStore.Open(OpenFlags.ReadOnly);
    X509Certificate2Collection certCollection = certStore.Certificates.Find(
                               X509FindType.FindByThumbprint,
                              "",
                               false);
    // Get the first cert with the thumbprint
    if (certCollection.Count > 0)
    {
        X509Certificate2 cert = certCollection[0];
        // Use certificate
        log.WriteLine(cert.FriendlyName);
    }

Результат:

введите здесь описание изображения

person Brando Zhang    schedule 12.06.2017
comment
Спасибо за быстрый ответ. Я уже пробовал этот вариант, но все равно получаю ту же ошибку. - person Kaveri Kale; 12.06.2017
comment
Я получил ценную информацию о stackoverflow.com/ questions / 44018848 /. Думаю, мне нужно купить настоящий сертификат. Самоподписанный сертификат не будет работать для Azure AppService / Webjob - person Kaveri Kale; 12.06.2017