我创建了使用与设置为“交通运输”安全模式basicHttpBinding的WCF服务,绑定一个证书的端口。所以客户端可以通过https使用服务。使用AES在HTTPS的WCF服务
现在,经理问我在https中使用AES128,我不知道如何。如何使用AES加密该https通道?这是可能的还是它有意义?
约翰尼
我创建了使用与设置为“交通运输”安全模式basicHttpBinding的WCF服务,绑定一个证书的端口。所以客户端可以通过https使用服务。使用AES在HTTPS的WCF服务
现在,经理问我在https中使用AES128,我不知道如何。如何使用AES加密该https通道?这是可能的还是它有意义?
约翰尼
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)
非常感谢!我现在可以停止将我的头撞在墙上!将该问题传递给网络团队,完成我的任务:) – Johnny