简体   繁体   English

Azure:在应用服务中使用从 Key Vault 获得的证书时出错

[英]Azure : Error using certificate obtained from Key Vault in App Service

In my Azure App Service which runs a net472 web app, I access certificate from key vault as follows:在运行 net472 web 应用程序的 Azure 应用程序服务中,我从密钥库访问证书,如下所示:

var certSecret = await kvClient.GetSecretAsync(kvName, secretName);

I then need to send the certificate to authenticate to an external service然后我需要发送证书以向外部服务进行身份验证

var cert = new X509Certificate2(Convert.FromBase64String(certSecret.Value));

This line throws an error此行会引发错误

System.Security.Cryptography.CryptographicException: The system cannot find the file specified.

   at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
   at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx)
   at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData)
   at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(Byte[] rawData)

Try to get secret as below:尝试获取如下秘密:

var certSecret = await kvClient.GetSecretAsync(vaultBaseUrl, secretName);

You could retrieve certSecret.value to check whether it has value then send it to X509Certificate2 which specify the X509KeyStorageFlags storage flags.您可以检索certSecret.value以检查它是否具有值,然后将其发送到指定X509KeyStorageFlags存储标志的X509Certificate2

X509Certificate2 x509 = new X509Certificate2(Convert.FromBase64String(certSecret.value), string.Empty, X509KeyStorageFlags.MachineKeySet)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将 SSL 证书从 Azure 密钥保管库检索到 Azure 应用服务 - Retrieving SSL certificate from Azure key vault to Azure app service 使用 powershell 将 Azure 密钥保管库证书导入应用服务? - Import Azure key vault certificate to app service using powershell? Key Vault中的Azure证书不适用于应用程序服务 - Azure certificate in Key Vault not valid for app service 从关键保管库将证书上传到App Service - Upload Certificate to App Service from key Vault 在管道中使用来自 Azure 密钥保管库的证书 - Using certificate from Azure key vault in pipeline 通过REST API将证书从Azure Key Vault添加到Azure App Service - Add certificate from Azure Key Vault to Azure App Service via REST API Azure Key Vault 与应用服务连接错误 - Azure Key Vault with App Service connection error Azure:手动将应用服务证书添加到 Key Vault - Azure: manually add app service certificate to key vault Azure - Key Vault 中的应用服务证书为空白 - 无法使用 powershell / az cli 下载 pfx - Azure - App Service Certificate in Key Vault is blank - Unable to download the pfx using powershell / az cli 如何使用 terraform 从 ZCF04A02E37B7574FC311A key vault6 导入 azure web 应用程序证书 - How to import a an azure web app certificate using terraform from an azure key vault
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM