2012-09-08 51 views
0

我正嘗試使用SSL證書連接到我的Azure WCF服務。我見過好幾個教程談論在web.config文件中改變「綁定」屬性,但本教程我跟着這不是可能的結果(據我可以看到):在WP7,WCF服務和Azure中使用SSL

http://www.silverlightshow.net/items/Producing-and-Consuming-OData-in-a-Silverlight-and-Windows-Phone-7-application-Part-4.aspx

我的Azure數據庫中的數據是使用Azure託管的WCF服務公開的,此時連接字符串包含敏感數據。

使用我的SSL證書(我最近購買了通配符SSL證書)我想從我的WP7應用程序連接到我的Azure託管的WCF服務。

基本上我在尋找一些指導:

  • 如何設置我的WP7應用程序,我的天青之間的SSL連接託管WCF服務,以便只有應用程序的用戶可以訪問該服務?

謝謝!

回答

1

你需要做的幾件事情:

  1. 配置在客戶端(WP7)和服務器(WCF服務)use the basicHttpBinding with Security mode set to Transport。這將允許您使用HTTPS端點。

<system.serviceModel>  
    <bindings> 
    <basicHttpBinding> 
     <binding allowCookies="True"> 
     <security mode="Transport" /> 
     </binding> 
    </basicHttpBinding> 
    </bindings> 
</system.serviceModel> 
  1. Upload the certificate in your cloud service通過門戶。
  2. Add an HTTPS endpoint referencing the certificate(通過指紋)在Web角色(csdef和cscfg)中。
  3. Map a CNAME to your cloudapp address與您的證書中定義的通配符域匹配。
+0

感謝您的回答。由於我的WCF服務是作爲服務引用添加到我的項目中的,因此我沒有像第1步中的教程那樣的'ServiceReference.ClientConfig'文件。我使用oData和Linq2Sql從Web服務中獲取數據,因此推測我需要使用不同的安全方法? – user1567095

+0

您可以自己創建ClientConfig並添加一個沒有名稱的綁定。在.NET 4.0中,沒有名稱的綁定將應用於所有使用未指定bindingConfiguration的綁定的端點。我期待這也適用於WP7,但我不是100%確定。 –