2012-01-17 86 views
0

什麼是最好的方式來實施無證書傳輸的HTTPS安全?我應該只是例如使用SecurityMode的傳輸和BasicCredentialType basicHttpBinding到HttpClientCredentialType?我以一種描述的方式完成了它,但是當訪問WSDL時我有一個警告警告。WCF傳輸WCF

回答

0

你不能。 HTTPS只是SSL/TLS內部的HTTP隧道,SSL/TLS需要在服務器端使用證書。如果這是爲了測試,或僅由您控制的客戶使用,您可以選擇執行這些選項中的一個來代替支付CA頒發的證書。

  • 使用自簽名證書。爲了在沒有客戶端獲得警告的情況下工作,您需要將證書導入客戶端的信任存儲區(通常是瀏覽器的一部分)。

  • 使用由您控制的證書頒發機構(CA)頒發的證書,並讓您的所有客戶端導入/信任該CA的頒發證書(或根)。如果您的環境中有多臺服務器,並且您的環境中的所有客戶端都需要信任它,則這非常有用。

如果需要外部客戶端連接到您的服務器沒有做在客戶端上的任何進口/信任,你將需要從象Verisign一個全球公認的CA購買證書。

+0

我有一個Web服務,我需要實現HTTPS。它在我們的服務器上。在同一臺服務器上,我有一個ASP.NET網站託管。服務器端的網站調用Web服務。因此,我需要在該服務器上添加證書,是不是?使用mmc,我應該在哪裏安裝它,以及如何配置Web服務和網站以便相互通話? – 2012-01-18 07:12:56

+0

@niao:你的意思是說你只想爲你的web服務使用https而不是託管asp.net網站。 – Rajesh 2012-01-18 10:22:01

+0

是的。我只需要它用於我的Web服務 – 2012-01-18 10:52:20

3

我不認爲你可以有沒有證書的HTTPS。它可以是自行創建的,但客戶端需要將其明確安裝在其可信存儲中。

0

如果要加密郵件內容以及HTTP傳輸安全性,可以考慮的另一個選項是使用郵件安全性。這隻加密消息的內容而不加密傳輸信道。這方面的一個潛在的好處是message can be secured passing through intermediate systems,而HTTPS是點對點

這將需要在服務器上的X509證書,該證書與HTTPS證書,你可以自簽名或從CA獲得如Verisign

+0

所以沒有辦法證明我無法做到這一點? – 2012-01-17 23:33:57