2012-09-11 44 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