Как управлять подписанными сертификатами с помощью Azure Function V2 - PullRequest
0 голосов
/ 14 декабря 2018

Я работаю над приложением Azure Functions для плана потребления.Приложение Func требуется для загрузки определенного подписанного сертификата.

На локальном компьютере я устанавливаю сертификат как личный сертификат, и все работает нормально.

После публикации на Azure я получаю эту ошибку:

Существует 0 сертификатов с именем субъекта cert.name в LocalMachine, сценарии / сертификаты MyUse / для создания этого

Ничего полезного в SO или даже в документации Azure Func поКак использовать сертификат с функциями Azure.

Кто-нибудь имеет опыт работы с этим?

1 Ответ

0 голосов
/ 14 декабря 2018

Я получил его, и это довольно просто.

Сначала перейдите к функциям платформы в вашем приложении функций, и вы найдете SSL, как показано ниже.

enter image description here

Затем вы можете добавить публичный, частный или SSL-сертификат в зависимости от ваших потребностей.В моем случае я хочу добавить приватный сертификат, который я уже экспортировал, и у меня есть его закрытый ключ.

enter image description here

После загрузки сертификата перейдите в свое приложениенастройки и добавьте этот ключ / значение:

WEBSITE_LOAD_CERTIFICATES: "Ваш Cert Thumbprint"

Вы должны иметь возможность загрузить сертификат, используя этот отпечаток, например:

using System;
using System.Security.Cryptography.X509Certificates;

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