首页 > 解决方案 > 证书的 Azure Function Key Vault 参考?

问题描述

我正在尝试在我的 Azure Function (v1) 中使用 Key Vault 引用,如此处所述。它适用于秘密,但不适用于证书。

文档根本没有提到证书,所以也许它们根本不受支持?我希望将它作为base64字符串。

我正在使用的示例应用设置:@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/certificates/ApiClientAuthenticationCertificate/f9580a1f5a0c4a6ca65ea089976ca2b0)

标签: azure-functionsazure-web-app-serviceazure-keyvault

解决方案


原来证书在/secrets路径下可用。我上面的例子应该是这样的@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/ApiClientAuthenticationCertificate/f9580a1f5a0c4a6ca65ea089976ca2b0)

然后,设置值将是 PFX 格式的证书的 base64 字符串。在 Azure 函数中像这样实例化:

byte[] certBytes = Convert.FromBase64String(base64Pfx);
var cert = new X509Certificate2();
cert.Import(certBytes, String.Empty, X509KeyStorageFlags.MachineKeySet);

推荐阅读