gpt4 book ai didi

c# - Azure Key Vault 和证书 - .NET Framework ClientCertificateCredential 对 Secret 的访问

转载 作者:行者123 更新时间:2023-12-03 01:15:34 30 4
gpt4 key购买 nike

我已生成 .pfx.pvk.cer 认证文件。

在 Azure 中:

  • 我创建了一个新的保险柜,我们将其命名为 MyVault
  • MyVault 中,我创建了一个名为 SubscriptionKey 的 Secret
  • MyVault 有一个证书部分,我已将 MyCertificate.cer 文件上传到其中。

令人困惑的是,Azure 还有一个“Azure Active Directory”部分,我也可以在其中上传证书。这是我通过研究了解到的,是上传证书并获取 ClientCertificateCredential 所需的关联 clientIdtenantId 的地方构造函数。

目标:使用证书和代码从 MyVault 检索 secret 值:

public static string GetSecretFromAzureKeyVault(string secretName)
{
string vaultUrl = "https://MyVault.vault.azure.net/";
string cerPath = "C:\\Personal\\MyCertificate.cer";

ClientCertificateCredential credential = new(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
cerPath
);

SecretClient client = new(new Uri(vaultUrl), credential);
KeyVaultSecret secret = client.GetSecret(secretName);

return secret.Value;
}

运行代码时,我仍然得到该行的null:

KeyVaultSecret secret = client.GetSecret(secretName);

对于我在此流程中做错了什么或有关资源有什么建议吗?

编辑:

错误截图: image_A

最佳答案

我已按照以下步骤操作并获得了 secret 值

  1. 从 AAD 创建应用并使用应用注册来注册该应用。

enter image description here

  • 创建 keyVault 和 secret 。并在代码中使用 secret 名称。
  • enter image description here

  • 使用应用注册中的 ClientId 和 TenantId 并在代码中使用它们。
  • enter image description here

  • 下载 .pfx 格式文件并在代码中使用证书。
  • enter image description here

  • 在代码中使用.pfx下载路径
  • enter image description here

    public static string GetSecretFromAzureKeyVault(string secretName)
    {
    string vaultUrl = "https://keyvault.vault.azure.net/";
    string cerPath = "C:\\Tools\\keyvault-keycertificate-20230109.pfx";

    ClientCertificateCredential credential =
    new ClientCertificateCredential("TenantId", "ClientId", cerPath);

    SecretClient client = new SecretClient(new Uri(vaultUrl), credential);
    KeyVaultSecret secret = client.GetSecret(secretName);

    return secret.Value;
    }

    您可以在下面突出显示的屏幕中找到 secret 值。

    enter image description here

    关于c# - Azure Key Vault 和证书 - .NET Framework ClientCertificateCredential 对 Secret 的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75055156/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com