从云服务动态访问 Azure 门户中上传的证书
Dynamically accessing certificates uploaded in Azure portal from cloud service
我想在我的云服务 webrole 中使用证书(通过门户上传到云服务部署)。
我希望 - 在上传证书后 - 它们将应用于我的 运行 网络角色,然后我可以通过他们的指纹找到证书。
我通过门户上传证书,方法是转到我的云服务,选择 "Certificates",然后上传 .pfx 并提供密码。
这是我用来尝试获取证书的代码:
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2 certificate = null;
foreach (X509Certificate2 cert in store.Certificates)
{
string certHash = cert.Thumbprint;
if (certHash.Equals(binding.SslThumbprint, StringComparison.OrdinalIgnoreCase))
{
certificate = cert;
break;
}
}
This works 如果我在 .csdef 文件中注册证书,但我需要能够动态加载证书。对 .csdef 文件的更改需要部署新包 - 这不是一个选项。
Azure 网站中有一个类似的功能,您可以在您的应用程序设置中添加一个带有通配符值的 WEBSITE_LOAD_CERTIFICATES 设置,然后在代码中通过指纹找到它们。基本上我正在寻找云服务中的类似功能。
如果不先在 CSDEF/CSCFG 文件中指定证书,则无法将上传到 Azure 门户的证书动态加载到云角色中。
但是,您可以将您的证书上传到一些外部存储(即:Blob 存储、SQL Azure 数据库等或 Poul 提到的 Key Vault)并从那里加载它们。
HTH
我想在我的云服务 webrole 中使用证书(通过门户上传到云服务部署)。
我希望 - 在上传证书后 - 它们将应用于我的 运行 网络角色,然后我可以通过他们的指纹找到证书。
我通过门户上传证书,方法是转到我的云服务,选择 "Certificates",然后上传 .pfx 并提供密码。
这是我用来尝试获取证书的代码:
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2 certificate = null;
foreach (X509Certificate2 cert in store.Certificates)
{
string certHash = cert.Thumbprint;
if (certHash.Equals(binding.SslThumbprint, StringComparison.OrdinalIgnoreCase))
{
certificate = cert;
break;
}
}
This works 如果我在 .csdef 文件中注册证书,但我需要能够动态加载证书。对 .csdef 文件的更改需要部署新包 - 这不是一个选项。
Azure 网站中有一个类似的功能,您可以在您的应用程序设置中添加一个带有通配符值的 WEBSITE_LOAD_CERTIFICATES 设置,然后在代码中通过指纹找到它们。基本上我正在寻找云服务中的类似功能。
如果不先在 CSDEF/CSCFG 文件中指定证书,则无法将上传到 Azure 门户的证书动态加载到云角色中。
但是,您可以将您的证书上传到一些外部存储(即:Blob 存储、SQL Azure 数据库等或 Poul 提到的 Key Vault)并从那里加载它们。
HTH