Я пытаюсь создать функцию Azure, которая будет вызывать SOAP API, требующий использования сертификата. У меня есть сертификат .PFX (сохраненный как base64) и соответствующий пароль. Оба хранятся в Azure Key Vault как секреты, и я подтвердил, что они извлекаются нормально.
В моей функции Azure (. NET Core 3.1) я создаю сертификат X509Certificate2 объект со следующим конструктором:
certificate = new X509Certificate2(certBytes, pass, X509KeyStorageFlags.MachineKeySet);
Используемый здесь X509KeyStorageFlags был предложен несколькими другими ответами на вопросы здесь.
Результатом этого конструктора всегда является следующая ошибка: The specified network password is not correct.
Я попытался выполнить то же действие локально, и здесь сертификат загружен правильно, и я могу получить информацию об эмитенте, et c.
Другие флаги хранилища, такие как MachineKeySet + PersistKeySet + Exportable не имеет значения, а загрузка PFX не как base64, а как файл дает ту же ошибку.
Кто-нибудь знает, почему этот код ведет себя иначе в функции Azure по сравнению с его локальным запуском?