【发布时间】:2018-01-26 13:57:57
【问题描述】:
我们在 Azure 中托管了一个 Web 应用程序,我们使用它从 KeyVault 加载证书,以用于加密和其他服务的身份验证。从 KeyVault 读取值后,我们将创建这样的证书:
return new X509Certificate2(Convert.FromBase64String(secret.Value), string.Empty,
X509KeyStorageFlags.MachineKeySet |
X509KeyStorageFlags.PersistKeySet |
X509KeyStorageFlags.Exportable);
我们已经看到很多关于“密钥集不存在”和“请求被中止:无法创建 SSL/TLS 安全通道”的错误。
我怀疑这是因为它将私钥保存到磁盘 (C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys),这会在尝试再次读取它时导致问题,因为它是一个共享托管环境,我们不要完全拥有这台机器。
有没有合适的方法来做到这一点?我已经看到使用证书存储的引用,但我不太确定这与从 KeyVault 获取证书有什么关系。
【问题讨论】:
标签: c# azure x509certificate azure-keyvault