2012-09-11 42 views
1

我創建了使用與設置爲「交通運輸」安全模式basicHttpBinding的WCF服務,綁定一個證書的端口。所以客戶端可以通過https使用服務。使用AES在HTTPS的WCF服務

現在,經理問我在https中使用AES128,我不知道如何。如何使用AES加密該https通道?這是可能的還是它有意義?

約翰尼

回答

1

HTTPS傳輸安全性WCF本身之外的實際處理,無論是在IIS(如果託管在那裏),或當您綁定到一個端口證書。

HTTPS(SSL或TLS)支持多種密碼算法(例如AES,3DES,RC4),並且客戶端和服務器將協商使用哪一個用於HTTPS連接,取決於每個支持(完整的密碼列表http://msdn.microsoft.com/en-us/library/windows/desktop/aa374757(v=vs.85).aspx )。

IIS(我假設將證書綁定到端口時)使用Schannel安全提供程序來處理HTTPS。不幸的是,IIS或web.config中沒有任何內置設置可用於控制允許哪些密碼。

因此,如果您只想強制使用AES128,則必須編輯Windows註冊表並禁用Schannel使用其他密碼(http://support.microsoft.com/kb/245030)。

這意味着要在註冊表中的位置:啓用

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Ciphers 

而且在禁用所有的加密算法有(設置「已啓用」 REG_DWORD至00000000),而只留下一個「AES 128/128」 (如果缺失,請添加「AES 128/128」子項,並添加值爲0xffffffff的啓用DWORD)

+0

非常感謝!我現在可以停止將我的頭撞在牆上!將該問題傳遞給網絡團隊,完成我的任務:) – Johnny