2012-06-28 158 views
0

我正在開發一個WCF服務。我使用WsHttpBinding和customUserNameValidator通過用戶名和密碼進行訪問。但是我面臨的問題是,一旦我使用用戶名/密碼,我需要某種安全通道,這意味着我應該生成兩個證書 - 一個用於服務,一個用於客戶端。問題是 - 是否有可能這樣做,客戶端不需要證書,如果是 - 如何做到這一點?以及如何爲非.NET客戶端定製WCF服務的安全性?WCF證書和非.NET客戶端

回答

0

使用wsHttpBinding綁定類型時,不需要擁有兩個證書。您需要通過使用TransportWithMessageCredential在服務器上設置一個證書,用於點對點通道通信,其中用戶憑證已加密並存儲在消息中。

在以下鏈接中,您可以找到與使用用戶名認證的wsHttpBinding相關的完整示例:http://msdn.microsoft.com/en-us/library/ff648840.aspx

+0

創建和安裝證書超出了本「操作方法」文章的範圍。有關如何執行此操作的詳細信息,請參閱「如何 - 在WCF中創建和安裝臨時證書以在開發期間傳輸安全性」並執行步驟1至步驟4. ---- –

+0

以及如何創建和安裝非臨時證書(不用於開發)? –

+0

以下是描述如何爲生產服務器創建和安裝證書的文章:http://blog.functionalfun.net/2008/05/how-to-create-server-certificate-for.html –

0

在設置傳輸和消息安全性的同時,您可以將客戶端憑證設置爲無。