#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 на скриншоте выше.