Я разрабатываю функцию Azure, которая должна загрузить сертификат из защищенной строки Base 64. Сертификат защищен ключом. Сертификат и пароль хранятся в хранилище ключей Azure.
Когда я пытаюсь загрузить сертификат из функции, я получаю ошибки в функциях v1 и v2.
Вот код, используемый для загрузки сертификата:
var certificate = new X509Certificate2(Convert.FromBase64String(certificateBase64), certificatePassword)
С этим кодом для .Net у меня есть странная проблема, которую я могу воспроизвести локально. Проблема связана с .Net 4.6.1. В .Net Core 2.0 он отлично работает локально (в CLI функции Azure), но у меня возникла странная проблема с файлом, который не был найден (https://github.com/dotnet/corefx/issues/11042)
Как упоминалось в конце предыдущего поста, я пытался установить флаг X509KeyStorageFlags.EphemeralKeySet .
var certificate = new X509Certificate2(Convert.FromBase64String(certificateBase64), certificatePassword, X509KeyStorageFlags.EphemeralKeySet)
Этот флаг пока недоступен для .Net Core 2 (https://github.com/dotnet/corefx/issues/24454),, а также для .Net 4.6.1, среды, используемой функциями Azure.
Есть ли способ принудительно использовать Net Framework, используемый функцией Azure v1? Есть ли простой обходной путь в .Net Core 2.0 без сохранения сертификата в виде файла в функции?