Есть ли способ импортировать сертификат из azure keyvault в azure web app в .NET?

#c# #azure-web-app-service #asp.net-core-webapi #azure-keyvault #azure-cli

#c# #azure-web-app-service #asp.net-core-webapi #azure-keyvault #azure-cli

Вопрос:

В azure cli у нас есть эта команда для импорта / привязки сертификатов к azure app из keyvault.az

привязка ssl конфигурации веб-приложения —certificate-thumbprint {отпечаток сертификата} —имя MyWebApp —группа ресурсов MyResourceGroup —SNI типа ssl

Я не смог найти эквивалентную библиотеку в .NET, чтобы сделать то же самое (я использую C #). Кто-нибудь может помочь в этом?

Ответ №1:

У Microsoft есть свободный API для доступа ко всем службам Azure.

Получив доступ к API службы приложений, вы сможете назначить ему существующий сертификат.

Комментарии:

1. Это не позволяет импортировать существующий сертификат из хранилища ключей.

Ответ №2:

Спасибо @john, вашего намека было более чем достаточно для меня, чтобы посмотреть это. Указанный вами метод помогает в привязке ssl к существующему сертификату. Но мне нужно импортировать сертификат в мое веб-приложение azureвведите описание изображения здесь. Есть какой-нибудь API для этого?

 var webApp1 = azure.WebApps
                .GetById(<your resouce Id as a string>)
                .Update()
                .DefineSslBinding()
                .ForHostname(<host name as a string>)
                .WithPfxCertificateToUpload(<certificate as a string>,
                    <password as a string>)
                .WithSniBasedSsl()
                .Attach()
                .Apply();
 

Комментарии:

1. Я полагаю, вам придется экспортировать сертификат из keyvault ( docs.microsoft.com/en-us/dotnet/api /… ) сначала и добавьте его в веб-приложение с помощью метода WithPfxCertificateToUpload.

2. Это сложная часть здесь, метод WithPfxCertificateToUpload не загружает сертификат в webapp, он напрямую связывает ssl с указанным именем хоста в приложении. Если вы можете предоставить пример кода, как мы можем добавить его в приложение, которое было бы полезно. Спасибо

3. Что вы подразумеваете под «загрузкой» в веб-приложение? Привязка сертификата к веб-приложению является конечной целью, нет?

4. да, это конечная цель. Но хотите, чтобы загрузка могла быть выполнена с помощью API, как это делается с помощью портала Azure на скриншоте выше.