我们能读到withi ServiceConfiguration.cscfg文件证书部分使用C#?有方法RoleEnvironment类里面读ConfigurationSettings,但不能证明部分。
< XML版本=1.0编码=UTF-8&GT?;
&所述; ServiceConfiguration服务名=WindowsAzureProject7的xmlns =http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfigurationosFamily =1OSVERSION =*>
<角色名称=MvcWebRole1>
&所述;实例计数=1/>
<认证>
<证书名称=Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption指纹=625FBBB3B7A25C4B9D1C49D1CB1E3AE196C1A083thumbprintAlgorithm =SHA1/>
< /证书>
< /角色>
< / ServiceConfiguration>
解决方案
是的,有没有API来读取证书的详细信息,据我知道,但是你可以做的就是创建一个配置设置,并添加您的证书的具体细节,直接从相同的API读取它。这里有个技巧,我用过去的:
< ServiceConfiguration服务名=RW的xmlns =http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration>
<角色名称=RR>
&所述;实例计数=1/>
< ConfigurationSettings>
<设定名=AppFolder值=RailsApp/>
<设定名=CertificateThumb值=*************/>
< / ConfigurationSettings>
<认证>
<证书名称=Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption指纹=*******thumbprintAlgorithm =SHA1/>
< /证书>
< /角色>
< / ServiceConfiguration>
现在,在我的角色特定的code,我可以叫RoleEnvironment.GetConfigurationSettingValue拿到证书拇指如下:
字符串certThumb = RoleEnvironment.GetConfigurationSettingValue(CertificateThumb);
Can we read certificate section withi ServiceConfiguration.cscfg file using c#? There is method inside RoleEnvironment class to read ConfigurationSettings, but not certificate section.
<?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>
解决方案
Yes, there is no API to read certificate details as far as i know, however what you can do is create a configuration setting and add your certificate specific details and read it directly from the same API. Here is the trick, I used in past:
<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>
Now, in my role specific code, I can call RoleEnvironment.GetConfigurationSettingValue to get the certificate thumb as below:
string certThumb = RoleEnvironment.GetConfigurationSettingValue("CertificateThumb");