3

我的云服务具有以下配置:

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration ...>
  <Role name="...">
    <ConfigurationSettings>
      <Setting name="MyCertThumbprint" value="AB687DC9F63D51AE6E9522B86B97EFD15F55EA42" />
    </ConfigurationSettings>
    <Certificates>
      <Certificate name="MyCert" thumbprint="AB687DC9F63D51AE6E9522B86B97EFD15F55EA42" thumbprintAlgorithm="sha1" />
    </Certificates>
  </Role>
</ServiceConfiguration>

看到冗余了吗?

我想摆脱 MyCertThumbprint 配置。是否有 Azure API 可以让我访问 MyCert 的指纹?或者可能是 X509Certificate2 实例本身(即无需使用 X509Store 搜索它)?

4

1 回答 1

2

当然-如果您知道有关证书的其他信息,则可以将任何X509FindType 枚举X509Certificate2Collection.Find Method一起使用。不幸的是,ServiceConfiguration 的证书部分用于在云服务证书存储中查找证书并将该证书安装在与您正在部署的角色关联的 VM 上。没有 API 可以直接访问该部分。因此,您的选择是对证书主题名称或指纹之类的内容进行硬编码,并希望它不会更改,或者添加您在代码示例中演示的设置,该设置可在每次部署时进行配置。

ConfigurationSettings 部分反映了 web.config 文件中的 appSettings 部分,当与 CloudConfigurationManager.GetSetting("settingsKey") 结合使用时,首先在 ServiceConfiguration 中查看,然后在 web.config 中查看应用程序设置,允许您在模拟器或只是 IIS 表达并实现相同的功能。因此,我们复制 ServiceConfiguration 和 web.config 中的设置。

于 2014-09-17T03:35:10.677 回答