2009-02-26 33 views
0

類似this question,我需要能夠要求用戶名+密碼沒有傳輸安全。但在我的情況下,實際的IIS服務器沒有SSL,但它前面的代理服務器確實如此。如何要求一個有效的用戶名和密碼使用WCF(沒有傳輸安全)

這是WCF遇到問題的地方 - 因爲託管它的盒子將不允許沒有SSL的此類安全性。所以簡而言之 - 我是否需要爲此編寫自己的綁定,還是因爲這種情況錯過了某種解決方法?

回答

1

是的,如果您需要傳遞用戶名/密碼,WCF將需要加密通信。

我認爲唯一的方法是創建一個用於安全通信的證書(消息級別的安全性)。您可以輕鬆地makecert做到這一點,是這樣的:

makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=localhostCA -sky exchange -pe 

您可能需要授予訪問此證書的IIS用戶,使用Windows HTTP服務證書配置工具。然後,運行以下命令(假設「ASPNET」是適當的IIS用戶):

winhttpcertcfg -g -c LOCAL_MACHINE\My -s localhostCA -a ASPNET 

替換「localhostCA」與您的證書的名稱。

相關問題