7

c# を使用して ServiceConfiguration.cscfg ファイルで証明書セクションを読み取ることはできますか? RoleEnvironment クラス内に ConfigurationSettings を読み取るメソッドがありますが、証明書セクションはありません。

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="WindowsAzureProject7" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*">
  <Role name="MvcWebRole1" >
    <Instances count="1" />
       <Certificates>
      <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="625FBBB3B7A25C4B9D1C49D1CB1E3AE196C1A083" thumbprintAlgorithm="sha1" />
    </Certificates>
  </Role>
</ServiceConfiguration>
4

1 に答える 1

6

はい、私の知る限り、証明書の詳細を読み取る API はありませんが、構成設定を作成し、証明書固有の詳細を追加して、同じ API から直接読み取ることができます。これが私が過去に使用したトリックです:

<ServiceConfiguration serviceName="RW" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
 <Role name="RR">
  <Instances count="1" />
   <ConfigurationSettings>
    <Setting name="AppFolder" value="RailsApp" />
    <Setting name="CertificateThumb" value="*************" />
   </ConfigurationSettings>
   <Certificates>
    <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="*****************************" thumbprintAlgorithm="sha1" />
   </Certificates>
 </Role>
</ServiceConfiguration>

ここで、ロール固有のコードで、RoleEnvironment.GetConfigurationSettingValue を呼び出して、以下のように証明書のつまみを取得できます。

string certThumb = RoleEnvironment.GetConfigurationSettingValue("CertificateThumb");
于 2012-07-02T19:05:04.710 に答える