使用 Azure SDK 将 PFX SSL 证书上传到 Azure 应用服务 Web 应用程序

问题描述 投票:0回答:1

我正在尝试使用 Azure SDK.NET 将 PFX SSL 证书上传到 Azure 应用服务 Web 应用。我有这个问题,但它使用已弃用的 Microsoft.Azure.Management.Fluent 包。 我在任何地方都找不到任何全面的示例或示例。

c# azure azure-sdk-.net
1个回答
0
投票

在 csproj 中添加以下 Nuget 包:

    <PackageReference Include="Azure.Identity" Version="1.10.3" />
    <PackageReference Include="Azure.ResourceManager" Version="1.7.0" />
    <PackageReference Include="Azure.ResourceManager.AppService" Version="1.0.2" />

然后你可以使用下面的代码

using Azure;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.AppService;
using Azure.ResourceManager.Resources;

var region = "eastus";
string resourceGroupName = "myResourceGroup";
string appServicePlanName = "myAppServicePlan";
string certificateName = "myAppCertificate";
string certPath = @"path_to_certificate.pfx";
string certPassword = "your_cert_password";

// Read PFX
byte[] pfxByteArray;
using (var stream = new FileStream(certPath, FileMode.Open, FileAccess.Read))
{
    pfxByteArray = new byte[stream.Length];
    stream.Read(pfxByteArray, 0, (int)stream.Length);
}

ArmClient client = new ArmClient(new DefaultAzureCredential());

SubscriptionResource subscription = client.GetSubscriptionResource(new Azure.Core.ResourceIdentifier("/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"));
ResourceGroupCollection resourceGroups = subscription.GetResourceGroups();
ResourceGroupResource resourceGroup = await resourceGroups.GetAsync(resourceGroupName);
var appServicePlan = await resourceGroup.GetAppServicePlanAsync(appServicePlanName);
var appCertificatesCollection = resourceGroup.GetAppCertificates();
AppCertificateData appCertificate = new AppCertificateData(region)
{
    Password = certPassword,
    PfxBlob = pfxByteArray,
    ServerFarmId = appServicePlan.Value.Id
};

appCertificatesCollection.CreateOrUpdate(WaitUntil.Completed, certificateName, appCertificate);

Console.ReadLine();

更多信息可以参考

https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.AppService_1.0.2/doc/dev/mgmt_quickstart.md

还有

https://learn.microsoft.com/en-us/dotnet/api/azure.resourcemanager.appservice?view=azure-dotnet

希望这有帮助。请替换您的环境的变量。

© www.soinside.com 2019 - 2024. All rights reserved.