2012-07-02 26 views
6

Chúng ta có thể đọc phần chứng chỉ withi tệp ServiceConfiguration.cscfg bằng C# không? Có phương thức bên trong lớp RoleEnvironment để đọc ConfigurationSettings, nhưng không phải là phần chứng chỉ.Đọc phần chứng chỉ của tập tin ServiceConfiguration bằng cách sử dụng C#

<?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> 

Trả lời

6

Có, không có API để đọc chi tiết chứng chỉ theo tôi biết, tuy nhiên những gì bạn có thể làm là tạo cài đặt cấu hình và thêm chi tiết cụ thể của chứng chỉ và đọc trực tiếp từ cùng một API. Đây là mẹo, tôi đã sử dụng trong quá khứ:

<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> 

Bây giờ, trong mã cụ thể vai trò của tôi, tôi có thể gọi RoleEnvironment.GetConfigurationSettingValue để có được những ngón tay cái giấy chứng nhận như sau:

string certThumb = RoleEnvironment.GetConfigurationSettingValue("CertificateThumb"); 
+0

+1 Nhưng bạn cũng cần khai báo cài đặt trong định nghĩa dịch vụ. –

Các vấn đề liên quan